模块背景: 项目评估 中需要将所有发布在公众号的里的文章截图,然后放在文档中留档,比如:将CSDN公众号在2021中推送过所有包含"python"文章截图保存到本地
模块目的:将一定时间内,该公众号推送过的文章,截图保存,最后可以打包下载到本地
使用技术:python+flask+BeautifulSoup+selenium
python+flask 主要负责web 方面搭建
BeautifulSoup 负责 解析html
selenium 负责执行自动化,操作浏览器实现截图
复制地址下来 page=2,就是代表第2页,只要不断递增page访问,就会跳到其他页,
这里要注意了,如果没有登录,最多只能访问10页,如果登录了,最多只能访问40次,搜狗为了防止爬虫,连续访问超过40次,就需要填写验证码!
这是实际打开的地址:
https://mp.weixin.qq.com/s?src=11×tamp=1641978701&ver=3554&signature=qq3XrTiEvrtvKWGOEAxt95FveuErHjs-iAhTyFA4bhSE2LEEDLk81EGfzhfCFUbspjTt4ITcZKmyfo8jPL3tBPpN2F5aneIMXmdSoMvHe30Qumh0o133Ay33IGcayj&new=1
明显是做了重定向,而且如果用selenium操作weixin.sogou.com,搜狗会检测到的,会直接跳去验证码,但是如果用selenium执行mp.weixin.qq.com的地址,是无问题的,因为已经跳到微信,那就是说,我需要将所有搜狗的地址转换成微信地址。
解决办法:
我用postman 执行 上面搜狗的地址:
返回这段JS
将所有url 拼接在一起的,就是微信的地址了!Postman可以生成requests方法