40行代码实现百度贴吧福利图片爬取(小白也能懂)

大家好我是王小白,目前大一是一个python初学者,希望通过写博客分享自己学习新得并记录自己的成长,这是自己学习的一个爬虫案例比较简单基础。分享给大家,希望大家喜欢!

爬虫的过程分析
当我们自己去访问一个网页时,是如何进行的?
  1.打开浏览器,输入要访问的网址,发起请求。
  2.等待服务器返回数据,通过浏览器加载网页。
  3.从网页中找到自己需要的数据(文本、图片、文件等等)。
  4.保存自己需要的数据。(文件操作)

python爬虫也是类似的。它模仿人类请求网页的过程,但是又稍有不同。
  第一。对应于上面的1和2步骤,我们要利用python实现请求一个网页的功能。
  第二。对应于上面的3步骤,我们要利用python实现解析请求到的网页的功能。
  最后。对于上面的4步骤,我们要利用python实现保存数据的功能。
  
  本次我们需要的库有两个:
  1.requests库(简单的说就是请求访问网页获取网页数据)
  2.lxml库(lxml 是一个用来处理 XML 的第三方 Python 库,简单的说就是获得的网页数据是二进制数据,需要转码转成我们能看懂的语言)

多的不说直接开始吧!
首先导入requests库和lxml库,我们使用类来写,这个函数作用在于获取贴吧地址,使用反爬虫修改头部信息,输入我们想保存图片的关键字。
在这里插入图片描述怎样获取头部信息,打开百度贴吧网站—右击检查(检查元素)—网络(network)—任意点击一个—标头(headers),找到User-Ageent复制粘贴下来写成字典如上一张图中(注意不要将浏览器信息写入会影响访问也就是下图中的Chrome…)
在这里插入图片描述
send_request函数中有两个参数,url和params,url是我们访问的网站,params是我们访问时查询的关键字,最后返回我们数据等待我们对数据进行分析。
在这里插入图片描述filter函数作用是提取信息并利用lxml库转码返回我们需要的内容的,有两个参数一个date,一个是rule,意思是传入我们的一大堆数据,利用规则找到我们需要的数据。
在这里插入图片描述函数的调用
在这里插入图片描述
1.list_date利用前边介绍的第二个函数去访问网站输入关键字查询返回的数据。
2.detail_rule是制定规则在我们返回的数据中寻找我们需要的信息。在贴吧主页搜索女神后进入搜索的页面右击查看元素——点击贴主名称(系统会自动定位到图片贴主的位置也就是图中的href)
有html的知识可知图片定位为’//div[@class=“t_con cleafix”]/div/div/div/a/@href’
在这里插入图片描述
3.datail_rule_list调用函数filter返回我们需要的信息,此时返回的信息是一个列表,列表中其实是贴吧中贴主的定位信息。
4.遍历列表,在每一个地址前加上百度贴吧的基础网址得到帖主的定位并访问贴主的发帖内容也就是datail_date,这个内容中有图片文字,我们获取图片的定位也就是规则。同上可知右击检查元素—查找元素—查找元素—点击图片获得图片定位scr 也就是’//img[@class=“BDE_Image”]/@src’
在这里插入图片描述
5获得了定位(规则)image_rule,再次调用filter函数获取图片的定位信息列表,遍历列表获取每一张图的网址使用文件操作将图片下载到文件中。

最后我们调用一下函数再运行一下,输入女神。
在这里插入图片描述感兴趣的朋友可以私我,有免费代码以及免费视频教学。

猜你喜欢

转载自blog.csdn.net/m0_47792921/article/details/106748877