python贴吧系统_IT宅男利用Python网络爬虫抓取百度贴吧评论区图片和视频(实战篇)...

【一、项目背景】

百度贴吧是全球最大的中文交流平台,你是否跟我一样,有时候看到评论区的图片想下载呢?或者看到一段视频想进行下载呢?

今天,小编带大家通过搜索关键字来获取评论区的图片和视频。7e995e421fc595e8d1dbc309fe7aca364334e929.png

【二、项目目标】

实现把贴吧获取的图片或视频保存在一个文件。

【三、涉及的库和网站】

1、网址如下:abe3f53f074400573944c184a7206f6939b7d11c.png

2、涉及的库:requests、lxml、urrilb

【四、项目分析】

1、反爬措施的处理

前期测试时发现,该网站反爬虫处理措施很多,测试到有以下几个:

(1)直接使用requests库,在不设置任何header的情况下,网站直接不返回数据。

(2)同一个ip连续访问40多次,直接封掉ip,起初我的ip就是这样被封掉的。 为了解决这两个问题,最后经过研究,使用以下方法,可以有效解决。获取正常的 http请求头,并在requests请求时设置这些常规的http请求头。

2.如何实现搜索关键字?

通过网址我们可以发现只需要在kw=() ,括号中输入你要搜索的内容即可。这样就可以用一个{}来替代它,后面我们在通过循环遍历它。

【五、项目实施】

1、创建一个名为BaiduImageSpider的类,定义一个主方法main和初始化方法init。导入需要的库。e5caa87270794f41dd087292a783d0d43c0d085b.png

2、准备url地址和请求头headers 请求数据。234ef1a44b436994bd00b1f227d4457d2ae46708.png截图不完整请见谅

3、用xpath进行数据分析

3.1、chrome_Xpath插件安装

(1)这里用到一个插件,能够快速检验我们爬取的信息是否正确。具体安装方法如下。

(2)百度下载chrome_Xpath_v2.0.2.crx, chrome浏览器输入:chrome://extensions/

7f28ab23a8d07ebfbe29c507e8a0ddf744267569.png

(3) 直接将chrome_Xpath_v2.0.2.crx拖动至该扩展程序页面 。

(4)如果安装失败,弹框提示“无法从该网站添加应用、扩展程序和用户脚本”,遇到这个问题,解决方法 是:打开开发者模式,将crx文件(直接或后缀修改为rar)并解压成文件夹,点击开发者模式的加载已解压的扩展程序,选择解压后的文件夹,点击确定,安装成功。

3.2、chrome_Xpath插件使用

上面我们已经安装好了chrome_Xpath插件,接下来我们即将使用它。

(1)打开浏览器,按下快捷键F12 。

(2)选择元素,如下图所示。3af6bf4989e9a78546bff72b8778730e36f1fe40.png

(3)右键,然后选择,“Copy XPath”,如下图所示。ff7cf741f6a60ed4f90247c53f2a8488cefb225e.png

3.3、编写代码,获取链接函数。

上面我们已经获取到链接函数的Xpath路径,接下来定义一个获取链接函数get_tlink,并继承self,实现多页抓取。61154e1c513f8ccb256c1cc4f3c72f424401943d.png

4、保存数据

这里定义一个write_image方法来保存数据,如下所示。27b8a00c84cad8c1caef7596815ee4215fa6899f.png截图不完整请谅解

注:@data-video是网址中的视频,如下图所示。92bc6adc8f8f0f4b7b0a9e76ee276ccc2169c1ba.png

【六、效果展示】

1、点击运行,如下图所示(请输入你要查询的信息):b6f241edb1583b2b8904a0952249f7804d9c6d59.png

2、以吴京为例输入,回车:6f058af4d22881f54a870da5746157d1c12e6fbf.png

3、将图片下载保存在一个名为“百度”文件夹下,这个文件夹需要你提前在本地新建好。务必记得提前在当前代码的同级目录下,新建一个名为“百度”的文件夹,否则的话系统将找不到该文件夹,会报找不到“百度”这个文件夹的错误。71826e4f5705980cb6bc706cdcc891d6784694ba.png

4、下图中的MP4就是评论区的视频。5740c4f96036955d879abc3f23b760630cb9f2e6.png

七、【总结】

1、不建议抓取太多数据,容易对服务器造成负载,浅尝辄止即可。

2、本文基于Python网络爬虫,利用爬虫库,实现百度贴吧评论区爬取。就Python爬取百度贴吧的一些难点, 进行详细的讲解和提供有效的解决方案。

3、欢迎大家积极尝试,有时候看到别人实现起来很简单,但是到自己动手实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。学习requests 库的使用以及爬虫程序的编写。

4、通过本项目可以更快的去获取自己想要的信息。

欢迎大家点赞,留言,转发,感谢大家的相伴与支持,需要本文源码可以关注公众号:【Python的进阶之旅】有惊喜哦!7f7b6a5b06f3d5664f966fdb6f3eb648f0c4bc49.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值