本文是通过关键字爬取文章
分析搜索url
https://weixin.sogou.com/weixin?query=华为&type=2&page=3
query 是我们要搜索的关键字
type 表示搜索方式,1 表示搜索公众号,2 表示搜索文章,默认是1
page 页数,不登录的情况下最多获取十页
解析搜索页面,获取文章URL
这一部分比较麻烦
我们直接解析页面拿到的文章链接来请求并不能获取文章页面,而是被发现了你是一只爬虫
这时候我们就要寄出我们的抓包小杀器,看看他这个请求到底是怎么玩儿的
抓包我们发现这个url和我们在页面看的极为相似,而且这个请求返回的url拼接完成后就是我们要的文章页面
对比这个url和页面上的url发现其实他只是在最后面多了两个参数
这个时候我们耐心寻找会发现,在页面的最下面,对这个a标签绑定了一个点击事件,点击一次这个url后执行一段js代码
这段代码的逻辑并不复杂,我用python模拟了这段代码的逻辑
其中r就是我们从页面解析的那段请求失败的url,这段代码也只是把页面上的url加工了一下,获取一个随机数,然后通过随机数获取url的对应位置的字母,在以参数k和参数h的方式拼接在原有url后面,就组成了新的url
我们请求新url,要带header和cookie才行,就能获取文章的url了