ʕ•ᴥ•ʔ Kohath's Reflections

爬取贴吧图片

一直有在贴吧白嫖漫画的习惯,正好最近又在看Python爬虫,于是无聊就想把每个帖子里的漫画都下载到本地。思路是先分析爬取一页帖子内的漫画图片,然后再分析爬取精品栏内所有帖子的漫画图片。

目标:爬取我的英雄学院百度贴吧精品贴漫画图片

工具:Python Chrome

第一步:爬取当前目标帖子内的所有图片

目标帖子URL:https://tieba.baidu.com/p/5993286218?see_lz=1

开启只看楼主,发现页数不超过一页,所以不用翻页操作,只需爬取当前一页图片即可。打开Chrome开发者工具,观察发现网页原始返回信息中就包含图片链接,所以直接使用requests库GET请求目标帖子URL,再使用PyQuery库解析返回的网页源码即可获取图片链接,然后再下载图片到本地。

使用Chrome开发者工具分析网页源码,可以发现:

帖子所有楼层信息都存在一个class=“p_postlist"的div标签中

每层楼的信息存在class=“l_post"的div标签中

每层楼中图片链接是class=“d_post_content"的div标签中img标签的src属性

分析完源码后开始编写爬虫代码:

运行结果: Crepe

第二步:爬取贴吧精品栏中所有帖子的图片

目标帖子URL:https://tieba.baidu.com/f?kw=%E6%88%91%E7%9A%84%E8%8B%B1%E9%9B%84%E5%AD%A6%E9%99%A2&ie=utf-8&tab=good

在我的英雄学院吧的精品栏中发现,帖子前缀名为*【雄英支援科】* 的帖子是含有漫画图片的,每页精品栏的URL的差别为末尾的参数&cid=&pn=offset ,offset是50的倍数,所以只要获得每页精品栏中所有前缀名为*【雄英支援科】* 的帖子URL即可。

同样分析目标网页源码:

id=“thread_list"的ul标签包含该页所有帖子的简略信息

class=“j_thread_list"的li标签包含每个帖子的简略信息

每个帖子链接是class=“threadlist_title"的div标签中a标签的href属性 分析完源码后开始编写爬虫代码:

运行结果: Crepe

总结

其实只是简单爬取了我的英雄学院贴吧精品栏中帖子前缀名是*【雄英支援科】* 的所有帖子中的漫画图片,并按帖子名称分文件夹保存。 源码链接