这是本项目的开篇,在这个小项目中,将要基于爬虫和GUI编程写一个写个小工具,目的是不用打开浏览器,也能搜到一些关键信息,并将这些信息持久化保存下来,读者可以对这些数据进行分析,比如舆情分析,或作为 NLP 的语料输入。
众所周知,搜索引擎的一个核心技术就是爬虫技术,各大搜索引擎的爬虫将个网站的快照索引起来 ,用户搜索时,输入关键词并回车后,基于搜索引擎的浏览器就将相关信息按照一定排序规则展现给用户,今天分享的这个爬虫,是爬取百度爬虫爬取的内容,听起来,有点像俄罗斯套娃。
话不多说,先用一张图,说明要爬取的内容
如图,爬取的目标是百度咨询下的每一条内容,包括标题、来源、时间和内容,并且翻页爬取、爬完能够自动停止,而且能够按照焦点/时间排序。
经过调试分析,发现排序规则和参数rtt相关,rtt = 1 是按照焦点排序,rtt = 4 是按照时间排序,这样就很容易解决排序抓取的问题。
翻页只需要控制pn参数即可,其值等于当前页码 * 10;爬完自动停止,首先要知道什么时候爬完,从上面图中可以发现,网页上有“找到相关资讯约535,000篇”,好家伙,除以每页 10 篇,总页数就知道了,就知道什么时候停止了。
下面就是写代码逐渐实现的过程了。
首先备好爬虫的原料
headers = {
'User-Agent'