疫情期间在家闲来无事,每天打游戏荒废了一段时间。我觉得自己不能在这么颓废下去,就立马起身写了一点python代码(本人只是python新手)。

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:1097524789

找来找去突然找到一个不错的网站(你懂得),看见上面的照片于是起来自己写了一个小程序能够自动爬取这个网站照片的小程序来练练手

上网站:

https://www.meizitu.com/a/xinggan_2_1.html

画面过于美好先打上一波马赛克,马赛克之前的模样。

自己想象一下

第一打开网站 我们按f12查看源代码发现,这里的图片的xpath只有缩略图,但是他的a标签里的href的网址有他大照片的地址,我们点进去查看后,发现img里面有src。

这里  如果只是单纯的爬取他的src,那我们爬取的就只有这一个页面,如果还要在爬取其他页面还要在修改地址很麻烦。

所以第一步我们用xpath先来定位缩略图里面a标签里面的href,将他生成一个列表,同时我们发现所有缩略图的xpath都是有规律的所以这样无疑减少了很多难度。

其二打开缩略图,发现图片的xpath也是很好获取

好了上源码

import requests

from lxml import etree

import time

class sprider(object):

def __init__(self):

self.header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'}

def url(self):

url = 'https://www.meizitu.com/a/xinggan_2_1.html'

response = requests.get(url,headers=self.header)

selector = etree.HTML(response.content)

for i in range(1,31):

url2 = selector.xpath('//*[@id="maincontent"]/div[1]/ul/li[%d]/div/div/a/@href' %(i))[0]

response2 = requests.get(url2,headers=self.header)

selector2 = etree.HTML(response2.content)

self.pc(selector2)

def pc(self,selector2):

for i in range(1,12):

time.sleep(2)

src = selector2.xpath('//*[@id="picture"]/p/img[%d]/@src' %(i))

title = selector2.xpath('//*[@id="picture"]/p/img[%d]/@alt' %(i))

print(title)

print(src)

self.write(src,title)

def write(self,src,title):

for a,b in zip(src,title):

name = b ".jpg"

print("正在抓取",name)

photo = requests.get(a,headers=self.header)

time.sleep(5)

with open(name,"wb") as f:

f.write(photo.content)

s = sprider()

s.url()

ps:这个只是我自己编写的一个小程序  仅供学习  想自己用的话还要结合自己的实际情况  比如User-Agent头  要替换成自己的

开始运行之后啊就可以看见一张张照片存放在自己的文件夹里了可能会比较慢  没加多线程  后续有时间我会在写一篇多线程的文章

见谅见谅

默认存放在这个程序所在的文件夹

注:本文只提供技术分享,请勿用作其他非法用途。如果造成任何法律部后果与本文作者无关

简单python爬虫编写,Python采集妹子图!的更多相关文章

  1. Python爬虫入门教程 2-100 妹子图网站爬取

    妹子图网站爬取---前言 从今天开始就要撸起袖子,直接写Python爬虫了,学习语言最好的办法就是有目的的进行,所以,接下来我将用10+篇的博客,写爬图片这一件事情.希望可以做好. 为了写好爬虫,我们 ...

  2. 零基础学习Python web开发、Python爬虫、Python数据分析,从基础到项目实战!

    随着大数据和人工智能的发展,目前Python语言的上升趋势比较明显,而且由于Python语言简单易学,所以不少初学者往往也会选择Python作为入门语言. Python语言目前是IT行业内应用最为广泛 ...

  3. Python协程爬取妹子图(内有福利,你懂得~)

    项目说明: 1.项目介绍   本项目使用Python提供的协程+scrapy中的选择器的使用(相当好用)实现爬取妹子图的(福利图)图片,这个学会了,某榴什么的.pow(2, 10)是吧! 2.用到的知 ...

  4. python (1)一个简单的爬虫: python 在windows下 创建文件夹并写入文件

    1.一个简单的爬虫:爬取豆瓣的热门电影的信息 写在前面:如何创建本来存在的文件夹并写入 t_path = "d:/py/inn" #本来不存在inn,先定义路径,然后如果不存在,则 ...

  5. Python爬虫《Python网络爬虫相关基础概念》

    引入 之前在授课过程中,好多同学都问过我这样的一个问题:为什么要学习爬虫,学习爬虫能够为我们以后的发展带来那些好处?其实学习爬虫的原因和为我们以后发展带来的好处都是显而易见的,无论是从实际的应用还是从 ...

  6. 一个简单的python爬虫,以豆瓣妹子“http://www.dbmeizi.com/category/2?p= ”为例

    本想抓取网易摄影上的图,但发现查看html源代码时找不到图片的url,但firebug却能定位得到.(不知道为什么???) 目标是抓取前50页的爆乳图,代码如下: import urllib2,url ...

  7. Python网络爬虫 | Scrapy爬取妹子图网站全站照片

    根据现有的知识,写了一个下载妹子图(meizitu.com)Scrapy脚本,把全站两万多张照片下载到了本地. 网站的分析 网页的网址分析 打开网站,发现网页的网址都是以 http://www.mei ...

  8. Python爬虫入门教程 13-100 斗图啦表情包多线程爬取

    斗图啦表情包多线程爬取-写在前面 今天在CSDN博客,发现好多人写爬虫都在爬取一个叫做斗图啦的网站,里面很多表情包,然后瞅了瞅,各种实现方式都有,今天我给你实现一个多线程版本的.关键技术点 aioht ...

  9. python 爬虫系列09-异步斗图来一波

    斗图斗图,妈妈再也不怕我都不赢了 import requests from lxml import etree from urllib import request import os import ...

随机推荐

  1. web 安全之页面解析的流程学习

    0x00 任务内容: 理解域名解析的整个过程 理解 web 页面请求的整个流程,绘制流程图(nginx 处理的 11 个过程) 学习 http 协议中的字段及含义 学习 http 请求方法以及返回状态 ...

  2. JVM 专题十八:垃圾回收(二)垃圾回收相关算法

    1. 标记阶段 1.1 引用计数算法 1.1.1 对象存活判断 在堆里存放着几乎所有的Java对象实例,在GC执行垃圾回收之前,首先需要区分出内存中哪些是存活对象,哪些是已经死亡的对象.只有被标记为己 ...

  3. 机器学习实战基础(三十六):随机森林 (三)之 RandomForestClassifier 之 重要属性和接口

    重要属性和接口 至此,我们已经讲完了所有随机森林中的重要参数,为大家复习了一下决策树的参数,并通过n_estimators,random_state,boostrap和oob_score这四个参数帮助 ...

  4. hihoCoder 1050 树中的最长路 最详细的解题报告

    题目来源:树中的最长路 解题思路:枚举每一个点作为转折点t,求出以t为根节点的子树中的‘最长路’以及与‘最长路’不重合的‘次长路’,用这两条路的长度之和去更新答案,最终的答案就是这棵树的最长路长度.只 ...

  5. 字符编码-Unicode、Utf-8 笔记

    Unicode 将世界上所有的符号都纳入其中.每一个符号都给予一个独一无二的编码,那么乱码问题就会消失.这就是 Unicode,就像它的名字都表示的,这是一种所有符号的编码 UTF-8 UTF-8 就 ...

  6. 用PyInstaller打包用PyQt5编写的python程序

    0.背景 本弱初学PyQt5,写了一个GUI小程序,但在用PyInstaller打包时出现了不少问题,现将几个比较大的问题记录如下,希望以后能记住. 1. 资源打包 首先是资源打包的问题,我写的程序引 ...

  7. 自动生成和安装requirements.txt依赖

    在查看别人的Python项目时,经常会看到一个requirements.txt文件,里面记录了当前程序的所有依赖包及其精确版本号.这个文件有点类似与Rails的Gemfile.其作用是用来在另一台PC ...

  8. http连接池存在的问题

    连接的有效性检测是所有连接池都面临的一个通用问题,大部分HTTP服务器为了控制资源开销,并不会 永久的维护一个长连接,而是一段时间就会关闭该连接.放回连接池的连接,如果在服务器端已经关闭,客 户端是无 ...

  9. java中int相除取小数点后两位或限定位数

    java 两个整数相除保留两位小数: http://blog.sina.com.cn/s/blog_624d755d0101cvuq.html java中,当两个整数相除时,由于小数点以后的数字会被截 ...

  10. 小白从零开始阿里云部署react项目+node服务接口(二:node服务+web)

    我们用极简的方式来创建服务,没有任何附加功能 1 新建一个server文件夹 2 使用npm init 或者yarn init  一路enter 3  yarn add  express cors  ...