用python爬虫爬取微博文章页的搜索结果(附代码讲解与整套代码)

用python爬虫爬取微博文章页的搜索结果(附代码讲解与整套代码),第1张

概述一、首先引入requests和etree模块注:当直接用pipinstalllxml下载不了lxml模块时,可能是国内的镜像出现了问题,可以加入豆瓣镜像来帮助下载(网上有说清华的、阿里云的、中科大的,就我的实验来看,豆瓣是最管用的),代码如下:pipinstall模块名-ihttp://pypi.douban.com/si

一、首先引入 requests 和 etree 模块
注:当直接用 pip install lxml 下载不了 lxml 模块时,可能是国内的镜像出现了问题,可以加入豆瓣镜像来帮助下载(网上有说清华的、阿里云的、中科大的,就我的实验来看,豆瓣是最管用的),代码如下:
pip install 模块名 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

最开始引入和添加项目的代码如下:


二、定义项目需要的各种元素,以便之后运行,需要注意的是要借用网页中的cookie和User-Agent来伪装自己,否则会被识破Python爬虫的身份,从而无法获得网页源码。取得cookie和User-Agent的方法如下:
1、点到微博相应网页,点击鼠标右键,点击检查,点击最上方Network模块,会发现没有抓取到的包,此时不要着急,直接将网页刷新,会发现抓取到了很多包,点击最上面那个包(也即type为document的包)。
2、往下滑动,在我用红色笔圈住的地方就是cookie和User-Agent啦,然后直接复制粘贴到代码中就可以啦。


这部分的代码如下:


三、定义对于数据的处理,这里会用到xpath,对于不会的同学可能会很苦恼,但不要灰心丧气,我这就教你哦。
1、最便捷的方法自然是直接复制粘贴xpath,这里建议用谷歌浏览器,并且在谷歌浏览器上下载插件xpath helper,这会对你的xpath很有帮助哦
2、鼠标放到文章标题那里,然后右键检查,此时会直接在网页源码中标记出来,鼠标放到标记出的网页源码,点击鼠标右键,会出现copy,鼠标移过去,会出现很多copy的对象,咱就copy xpath就可以啦,将它粘贴在xpath helper中,会在results栏出现该篇文章的名称
3、不着急,看看网页源代码,每篇文章的位置是从哪个节点分开的,然后将xpath helper粘贴的代码中的该节点div后的“[]”删除,看看在results栏是不是出现了所有文章的名称,如果是这样,那说明你成功的找到所有文章对应的xpath了。
4、上面的方法治标不治本,授人以鱼不如授人以渔,xpath具体的语言表如下:


具体代码如下:


这里呢,就定位xpath,用for循环遍历列表,取得这一页的每一条链接,然后转到下一页,通过xpath定位获取下一页的链接

四、定义run,代码如下:


五、最终运行,代码如下:


到此为止,我们就已经得到了搜索结果的所有链接啦,得到链接之后呢,我直接用的是集搜客软件进行爬取,自己定义规则(自己选择链接对应的文章里你想爬取的部分)之后,直接保存规则,点击爬数据之后,爬取完毕时,将所有网址添加上去,进行集搜,因为网页结构一致,所以接下来就是电脑自己爬啦,咱们就解放双手啦。当然了,会有一部分爬取失败,这是因为这部分文章是微博引用的别的网站的文章,与微博文章的网页结构不一样。

okk,小课程完毕啦,给大家附上完整的代码:



总结

以上是内存溢出为你收集整理的用python爬虫爬取微博文章页的搜索结果(附代码讲解与整套代码)全部内容,希望文章能够帮你解决用python爬虫爬取微博文章页的搜索结果(附代码讲解与整套代码)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1188299.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-03
下一篇2022-06-03

发表评论

登录后才能评论

评论列表(0条)

    保存