简介
搜狗已经做了一层微信文章的列表,微信公众号列表,但是搜狗自己做了一些反爬虫措施,本文使用代理池抓取微信公众号文章
目标站点分析
目标站点:搜狗对微信文章的爬取
- 分析发现,地址栏中的地址中很多参数可以省略掉,最终的访问简洁地址:
https://weixin.sogou.com/weixin?query=java&type=2&page=5&ie=utf8
改变query和page即可 - 当频繁请求的时候,又有要求输入验证码,并且是需要输入三次验证码,ip检测异常时返回的状态码是302
- 另外,在不登录的时,只能查看100条搜索结果
爬取的流程框架
-
get请求注意分享头部的请求参数
在请求的时候我们也需要构造对应的参数字典,然后使用urlencode将字典参数转为url即可
- 使用cookie,保持登录。cookie和Headers都是放在headers:Cookie、Host、User-Agent,另外在get请求时需要设置不允许redirects,否则我们返回302代码
- 当返回302状态码时,使用上一篇文章介绍的代理池继续爬取文章
- 使用代理时直接在get中设置代理参数即可
- 微信本身链接文章没有反爬虫措施,不用使用代理
-
cookie存在过期时间,如果在抓取过程中发现无法获取登录内容的话,需要重新在浏览器中登录,获取cookie
源码和数据
数据
源码
扫描下方二维码,公众号菜鸟名企梦
后台发送关键词“微信”即可获取本文的完整源码和详细程序注释
公众号菜鸟名企梦
专注:互联网求职面经、java、python、爬虫、大数据等技术、海量资料分享:
公众号菜鸟名企梦
后台发送“csdn文库下载”即可免费领取【csdn】和【百度文库】下载服务;
公众号菜鸟名企梦
后台发送“资料”:即可领取5T精品学习资料、java面试考点和java面经总结,以及几十个java、大数据项目,资料很全,你想找的几乎都有
网友评论