python爬取公众号号内搜文章链接笔记
前言:最近入了一台kindle,水墨屏看文章很舒服,于是想尝试在kindle上面看公众号文章,决定自己写爬虫把文章爬下来。因为是python新手,所以只做到了爬取文章链接,很多地方写的不好,如果有侵权,请联系我进行删除!
先贴网址:惊人院
默认查找的是全部文章,网页版打开是这样的(按了F12后):
发现名为search的文件的response有我想要的信息,于是查看payload,
网页版号内搜有个问题,查询结果向下拉并没有办法刷新,于是我用手机上的kiwi browser浏览器打开该网页(因为这个浏览器有开发者工具),并上拉刷新了两次得到如下结果:
观察到在刷新时form data里只有三个地方发生变化:page,nonce,xyz,其中page是页码,nonce和xyz是加密过的内容。
参考这篇博客,可对JavaScript代码进行查看以得知nonce,xyz是怎么产生的。
利用这个工具方便查看js代码的结构,查找到nonce和xyz生成的位置:
可以看出nonce只是随机生成的长度为9的字符串,于是我直接用最开始的nonce。但是xyz的值我没通过代码审计看出,但是直接利用别的博主的结论得出xyz等于headers里Request URL的值、
“?AppKey=joker”、form data里除xyz外各个值的字符串拼接之后再由md5加密后的值,在这里就是
/xdnphb/app/data/searchinaccount/search?AppKey=joker&keyword=&media=0&order=1&page=1&position=0&publicPosition=0&secret=OywuPjU2LjxI&time=