【一、项目背景】
你是否在寻找可以与高手斗图的应用? 你是否在寻找可以自制表情的应用?你是否在寻找最全、最爆笑的表情库?
斗图网是一个收集了成千上万的撕逼斗图表情包,在这里你可以快速找到想要的表情, 更好的“斗图”,助您成为真正的斗图终结者!
![](https://pic4.zhimg.com/80/v2-85af9b1d09562ddd43f7f65970664e16_720w.png)
【二、项目目标】
下载表情包,保存文档。
【三、涉及的库和网站】
1、网址如下:
![](https://pic4.zhimg.com/80/v2-44f4b18b8d52d16db61215efcb8015e8_720w.png)
2、涉及的库:requests****、lxml、ssl****、time
3、软件:PyCharm
【四、项目分析】
1、如何找到表情包图片地址?
F12右键检查,找到对应的图片的地址。
![](https://pic3.zhimg.com/80/v2-6fdd772914612eff8dedf73f9fcb10bd_720w.png)
观察网址的变化(一般取前三页):
![](https://picb.zhimg.com/80/v2-9d73dcab781c1d847f28034ce10a8b24_720w.png)
发现点击下一页时,page{}每增加一页自增加1,用{}代替变换的变量,再用for循环遍历这网址,实现多个网址请求。
2. 如何解除ssl验证?
因为这个网址是https,需要导入一个ssl模块,忽略ssl验证。
![](https://pic3.zhimg.com/80/v2-7d3681c7c8c9781d51d7b9d34aee05a7_720w.png)
3. ****如何获取Cookie?
右键检查,找到NetWork,随便复制一个Cookie即可。
![](https://pic2.zhimg.com/80/v2-9092b9839dd66ee19dee6176361735c5_720w.png)
【五、项目实施】
1、我们定义一个class类继承object,然后定义init方法继承self,再定义一个主函数main继承self。导入需要的库。
![](https://pic1.zhimg.com/80/v2-c50d59821d4aaab3885885e777715b91_720w.png)
2、导入网址和构造请求头,防止反爬。
![](https://pic3.zhimg.com/80/v2-f1148c5b1a44dfb6995543577ebea3ef_720w.png)
3、发送请求 ,获取响应,页面回调,方便下次请求。
![](https://pic2.zhimg.com/80/v2-956391cb1b74080fda22d015db2b8ac6_720w.png)
4、xpath解析页面。
这里我们先获取父节点,在通过for循环遍历,找到对应的子节点(图片地址)。
![](https://pic4.zhimg.com/80/v2-e216a134fd912b2d640ea95d968e4ef5_720w.png)
![](https://pic1.zhimg.com/80/v2-690df5f63ec3744db549d897ee3f538b_720w.png)
运行的结果:
![](https://pic1.zhimg.com/80/v2-c73ced4f58a8dc7692f65ece0236b8a1_720w.png)
5、对图片地址发生请求,取对应图片地址后10位,作为图片的命名,写入文件(每一张图片的后缀名不一样,所有这里不采用image_name作为图片的命名)。
![](https://pic4.zhimg.com/80/v2-986a0344a4b97f752190c694466101d7_720w.png)
6、调用方法,实现功能。
![](https://pic4.zhimg.com/80/v2-579910b11dcb1808ce02c3b439094b6a_720w.png)
7、time模块打出执行时间。
![](https://pic4.zhimg.com/80/v2-5ff14127bc4f33c2142183b4893d8a5c_720w.png)
【六、效果展示】
1、点击绿色小三角运行输入起始页,终止页。
![](https://pic2.zhimg.com/80/v2-3e77390807598c7cc5da9400d2080ec2_720w.png)
2、将下载成功信息显示在控制台。
![](https://pic3.zhimg.com/80/v2-496f57f1c8286b8d269ec7771a94ece7_720w.png)
3、保存文档,在本地可以看到斗图。
![](https://pic2.zhimg.com/80/v2-f6d850f1caaba358c8f448ebb79169c1_720w.png)
【七、总结】
1、不建议抓取太多数据,容易对服务器造成负载,浅尝辄止即可。
2、本文基于Python网络爬虫,利用爬虫库,获取表情包,存入文档。
3、希望通过这个项目能够了解到,对于HTTPS网站,解除ssl验证的有大致的了解。
4、可以尝试的去爬取其他的分类的表情包,按照步骤去实现,实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。
此文转载文,著作权归作者所有,如有侵权联系小编删除!
需要源代码或者素材的