学习
实践
活动
专区
工具
TVP
写文章

Python爬虫日记第八天之微信公众号文章初探

前言

之前有采集微信公众号文章的需求,所以这次来谈谈如何获取微信公众号的文章

微信的反爬措施比较完善,所以我们这次是通过搜狗微信这个平台来获取;微信对搜狗开放了一部分的公众号信息,我们可以看到,在搜狗微信上能够找到某些公众号(这里需要注意的是,搜狗的搜索方法也是在不断的更新,所以会出现有的公众号你可能刚开始的时候能够搜到,但是之后就找不到了,可后来又出现了的cd情况)

而通过搜狗微信获取公众号的基本信息,如微信号、月发文、功能介绍、简介、认证等信息完全可行,每个公众号最近发的10篇推文的标题,内容,发布时间也可以获取,但是每篇文章的链接则是临时链接,也就是说一定时间之后会失效(初探篇暂不考虑永久链接

分析

首先我们需要找到搜狗微信的搜索接口也就是下图中的url

而要想得到这个界面,在访问的时候还需要添加cookiescookies可以通过postman模拟发送请求找到真正需要的部分,也就是下图中的suvsuidsnuid这三部分

带上这些即可成功访问;可以看到源代码中包含了公众号的基本信息,获取公众号的链接之后

开始

第一步

这里主要初始化了搜索链接,接着带上cookies去请求,通过正则及判断对应的内容是否存在

注意月发文则需要另外通过链接获取(部分内嵌在网页源码的account_anti_url这里,最后拼接起来访问即可)

这样就获得了公众号的基本信息

第二步

这一部分就是访问公众号的文章列表部分,在通过正则提取文章的部分链接,过滤拼接后访问,获取到正文内容等信息;因为内容包含文字,还有单独的分享图片,或者是视频,也有可能文章违规等,所以需要添加判断处理(在这里只做了粗略的判断)

第三步

最后就是将这些获取到的数据保存到数据库中了,判断数据库中是否有该篇文章,若有则更新,若无则插入

结果

至于采集过于频繁而出现验证码,如何获取永久链接,将在之后的篇幅中赘述;有疑问的话可以随时联系小编哦,联系方式在公众号底部菜单第三个

-END-

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181112G22POC00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券