贴吧帖子内图片抓取

Python之爬虫练习

利用Python对百度贴吧进行网络爬虫,实现抓取每个帖子内的所有图片并将之保存到本地。

本次使用Python语言版本为2.7.16版本。

python版本    

使用的库为requests,re。安装好这两个模块后便可以直接导入。


库的导入

先提前分析百度贴吧的网址,并且改变页数,发现百度贴吧的url规则为"http://tieba.baidu.com/f?"+kw=?+pn=?    的形式。

所以,准备好网页抓取所需要的Headers,url,以及必要的data参数。开始构建爬取网页规则。


爬取规则

在这之后,由于每个页面都有多条帖子,需要遍历整个html文件中的帖子信息。所以将帖子的url具体网址或网址规律找出来是必要的。

通过打开多条帖子发现,或者直接使用开发者工具对帖子查询可得知,每个帖子都是由网址:'https://tieba.baidu.com'再加上/p/1234567 这种类型的网址。于是,通过正则表达式,将每个帖子在网页中的属性匹配并抓取出来。


帖子链接匹配

再进一步,获取帖子url后,进入帖子,查找所有图片的链接属性,发现都是处于:


图片正则表达式

最后,我们开始编写完整的代码逻辑将这些串起来。

由于百度贴吧已经有一些些反爬虫的意识,所以在编写的时候尽可能的多测试几次,确保所有获取的贴吧链接都是有效的。

在编写的时候发现,有部分帖子是没有图片的,所以,对图片链接的处理时加入if判断语句,确保代码的执行性。

以下为我的完整代码展示:


完整代码

在编写代码时,为了保证能都实时知道代码的执行进度,可适当增加些print提醒语句。

感谢你的观看!

你可能感兴趣的:(贴吧帖子内图片抓取)