爬虫抓取微信公众号文章及阅读点赞总结
近期我司接到任务抓取省内各个大学及教育局的微信公众号传播力度排名,根据调研sogou微信搜索数据还是可以的,随即采用python语言去进行抓取;过程中也遇到很多问题,由于sogou的反爬做得太恶心了总是封ip导致我需要大量的代理去抓取,这里要感谢github上的一个代理池项目。不过目前抓来的免费代理质量都不太好,大部分都被sogou封掉了。这里我也有买过一些代理,目前有发现讯代理的质量还可以。大概说一下爬虫抓sogou的步骤吧。
- 先抓取wxid(搜索要用到)
- 目标时间段分片 10天一次搜索(避免超过10页需要登录)
- 获得时间片内的记录数做分页
- 循环分页数拼接url携带代理请求
- bs4分析网页内容 遇到验证码更换代理重新请求
- 正则匹配出列表页中的详情页链接 多线程请求阅读点赞
- 结果插入mysql
- 以上操作使用多进程提升速度
获取wxid
这里用selenium去获取配置文件的公众号的wxid
class Craw_openid:
__getWxIdApi = "http://weixin.sogou.com/weixin?zhnss=1&type=1&ie=utf8&query="
__driver = webdriver.Chrome()
__wechatIds = wechatIds['wxId']
def __init__(self):
pass
def