python多线程爬取图片_python 多线程爬取网站图片(详解)

本文详细介绍了使用Python进行多线程爬取网站图片的步骤,包括识别分页规律、获取总页数、爬取图片链接及使用多线程加速图片下载,旨在提高爬虫效率。
摘要由CSDN通过智能技术生成

1网站整个图片的意思是,网站有用的图片,广告推荐位,等等除外

萌新上路,老司机请略过

第一步找出网站url分页的规律

选择自己要爬取的分类(如果要所有的图片可以不选,显示的就是所有的照片,具体怎么操作请根据实际情况进行改进)

a1d815db2a4e

QQ截图20190620144258.png

url地址的显示

a1d815db2a4e

QQ截图20190620144349.png

看分页的url规律

a1d815db2a4e

QQ截图20190620144417.png

url地址的显示

a1d815db2a4e

由此可知分页的参数就是 page/页数

第二步获取总页数和进行url请求

1判断页数的几种办法,1最直接的从浏览器上眼看 2先数一页完整的网页一共有多少套图片,假如有15套,如果有一页少于15套那它就是最后一页(不排除最后一页也是15张)3和第一种方法差不多区别在于是用程序来查看总页数的,4不管多少页写个http异常捕获,如果get请求返回的是404那就是已经爬完了 5页面捕获下一页,如果没有下一页就证明爬取完成(但是有些数据少的页面就没有下一页这个标签,这就尴尬了),这里以第三种方法为例

由图可知总页数

a1d815db2a4e

you

用程序捕捉页数

由上图可知翻页的布局在一个div里 正常情况下包括 上一页1 2 3 4 5 ... 101下一页 一共9个选择项那么倒数第二个就是总页数

通过xpath获取标签的规则

这里点击右键copy copy xpath

a1d815db2a4e

QQ截图20190620150800.png

然后用到一个谷歌插件 xpath

a1d815db2a4e

刚才

把刚才复制的xpath 粘贴进去

a1d815db2a4e

QQ截图20190620150845.png

可以看到获取的是总页数101 但是我们认为的是标签的倒数第二个才是总页数,所以我们获取的是一个列表而不是一个确定的值,因为翻页的便签的个数是会变的但是总页数一直都是最后一个*(这里以我测试的网站为例,,一切以实际情况为准)

获取翻页的列表

a1d815db2a4e

QQ截图20190620150859.png

调用查找总页数的方法返回第二个值就是总页数

a1d815db2a4e

QQ截图20190620152157.png

并做个判断如果页数大于总页数的时候跳出循环

页数判断完毕进行图片爬取

一个页面有20组图片 通过xpath获取这10组图片的链接并进行请求

a1d815db2a4e

QQ截图20190620152830.png

一共四步

1访问第一页抓取一共多少页,

a1d815db2a4e

QQ截图20190620183133.png

第二步抓取页面10组图详情页的连接

a1d815db2a4e

QQ截图20190620183139.png

第三 请求第一组图片的详情页获取多少张图片,

a1d815db2a4e

![QQ截图20190620183154.png](https

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值