很多朋友对于刷qq空间赞软件网站源码分享和不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
使用MitmProxy自动抓取微信公众号阅读数、点赞和再看数据
某天接到一个需要抓取某某微信公众的所有历史文章的阅读数、点赞和再看数据的需求。
为了解放双手,就用Python代码撸一个,选择MitmProxy代理作为抓博工具,因为它可以使用Python代码监听抓取到的url,用于自动获取cookie等场景。
什么是MitmProxy
mitmproxy是一个支持HTTP和HTTPS的抓包程序,有类似Fiddler的功能。
mitmproxy还有两个关联组件。一个是mitmdumvp,它是mitmproxyv的命令行接口,可以利用Python代码监听请求。另一个是mitmweb,它是一个Web程序,可以观察mitmproxy抓取的请求。
安装和设置
pipinstallmitmproxy
安装好之后,将手机端的代理IP设置为和PC的IP地址一样,和代理端口设置为:8080,用下面命令启动
mitmweb
将看到浏览器打开了一个http://127.0.0.1:8081/articles.py\nimporthtml\nimportrequests\nimportutils\n\nfromurllib.parseimporturlsplit\n\nclassArticles(object):\n&34;&34;&34;\n\ndef__init__(self,appmsg_token,cookie):\n34;User-Agent&34;Mozilla/5.0AppleWebKit/537.36(KHTML,likeGecko)Version/4.0Chrome/57.0.2987.132MQQBrowser/6.2Mobile&34;Cookie&34;is_only_read&34;1&34;is_temp_url&34;0&34;appmsg_type&34;9&34;&34;获取数据&34;&34;appmsgstat&34;read_num&34;old_like_num&34;like_num&34;&34;\n获取到文章url上的请求参数\n:paramarticle_url:文章url\n:return:\n&34;&url转义处理\narticle_url=html.unescape(article_url)\n&34;&34;&34;\nurl_params=utils.str_to_dict(urlsplit(article_url).query,&34;,&34;)\nreturnurl_params\n\ndefget_appmsgext(self,article_url):\n&34;&34;&34;\nurl_params=self.get_params(article_url)\n\nappmsgext_url=&34;.format(self.appmsg_token)\nself.data.update(url_params)\n\nappmsgext_json=requests.post(\nappmsgext_url,headers=self.headers,data=self.data).json()\n\nif&34;notinappmsgext_json.keys():\nraiseException(appmsgext_json)\nreturnappmsgext_json\n\n\nif__name__==&39;:\ninfo=Articles(&39;,&39;)\na,b,c=info.read_like_nums(&wechat_redirect&阅读数点赞数再看数\n15612318
动态获取cookie和appmsg_token
appmsg_token是一个具有时效性的参数,和cookie一样是需要改变的,当这两个参数过期时就需要从抓包工具(MitmProxy中)ctrl+C,ctrl+V到代码中,很是麻烦。
MitmProxy可以使用命令行接口mitmdumvp运行Python代码监听抓取的链接,如果抓到了https://mp.weixin.qq.com/mp/getappmsgext就保存在本地文件并退出抓包
mitmdump命令
coding:utf-8\ncommand:mitmdump-swrite_cookie.py-woutfilemp.weixin.qq.com/mp/getappmsgext\n\nclassWriterCookie:\n&34;&34;&34;\n\ndef__init__(self,outfile:str)->None:\nself.f=open(outfile,&34;)\n\ndefresponse(self,flow:http.HTTPFlow)->None:\n&34;&34;&34;\n将url和cookie写入文件\nif&34;inurl:\nself.f.write(url+&39;)\nself.f.write(str(flow.request.cookies))\nself.f.close()\n第四个命令中的参数\naddons=[WriterCookie(sys.argv[4])]
监听脚本写好之后,再来写启动命令和解析url,cookie文件的模块
34;&34;\n启动write_cookie.py和解析cookie文件,\n&34;&34;&34;\n解析cookie\n:return:appmsg_token,biz,cookie_str·\n&34;&34;appmsg_token.+?&&39;__biz.+?&&34;=&34;__biz=&39;;&39;],[&39;
总结
虽然本文可能有那么一点点一点点的标题党,并没有完全的自动抓取数据,还需要人为的刷新一下公众号文章。希望小伙伴们不要介意哈。需要源码的小伙伴可关注私信!
关于刷qq空间赞软件网站源码分享的内容到此结束,希望对大家有所帮助。