很多的微信公众号都提供了质量比较高的文章阅读,对于自己喜欢的微信公众号,所以想做个微信公众号爬虫,爬取相关公众号的所有文章。抓取公众号的所有的文章,需要获取两个比较重要的参数。一个是微信公众号的唯一和获取单一公众号的文章权限值。接下来说一下思路。
爬取思路:
要想获取微信公众号的爬虫,首先要唯一标识这个微信公众号,所以要获取这个微信公众号的id值(即)。看了比较多的相关文章,很多获取的值比较机械,单纯手动复制取;现在搜狗引擎与微信公众号对接,为我们提供了一个很好的获取途径,微信公众号源码里面有该号的值(可以从这个途径获取);但是搜狗引擎对微信公众号有限制,只显示最近10条文章,所以我们单纯只从搜狗引擎获取值和通过搜狗搜索任意关键词公众号列表。
下面是搜狗搜索微信公众号的URL地址,其中的python是搜索的关键词,其他可以不变。
搜索的结果页面:
查看源代码
在源代码中可以发现每一个公众号的链接,都是位于id为(n为整数如1,2,3等)下面的a标签属性值。通过语法可以获取,其中n的位置可以按规律顺序获取:
获取到单个公众号的地址如下所示:
打开单个公众号链接,获取公众号源码,取其中微信公众号的值:
获取到微信公众号的id值之后,就是要获取值(即单个微信公众号的文章权限值。)这个部分从微信客户端获取,接下来通过Fiddler抓包工具获取,如果不知道抓包工具的环境搭建
获取微信公众号文章的权限值的url:
相应的请求头,其中是隔段时间更换一次,所以需要定时更换一次;可以不变。也可以一段时间内不做改变:
上面的请求获取的返回响应头,是设置获取单一公众号文章的权限值,我们就是要获取set-cookies中的wap-sid2值:
获取公众号列表数据
获取权限值
获取到公众号id值和权限值;我们就可以构造请求获取文章列表了。其中mongodb操作是为了获取公众号id值,然后根据id值,获取值,然后把id值和对应入库。
获取文章数据列表
在mongoDB中保存着一个公众号的id值及对应的值,接下来构造请求文章的值,也是获取公众号文章列表url。
获取到的数据如下图所示:
获取另外一种思路
在爬取的过程中,有时候经过抓包,想获取一个重定向的网页的响应头;但是响应头cookies已经设置read only,我们想通过这里获取权限值,可以通过设置Fiddler的rules来生成保存响应文件。在微信文章爬取过程中,虽然也是想通过这种方式获取权限值。但是发觉自己是忽略了请求头和所以获取不到。所以这种方式在该项目并不需要。但是提供一种获取动态设置cookies值,然后重定向到新页面的响应头方法
在Fiddler添加以下代码,然后在桌面生成一个2.txt文件,上面保存返回的响应头:
以上就是本篇文章【chatgpt爬虫公众号文章 爬虫微信公众号内容】的全部内容了,欢迎阅览 ! 文章地址:http://w.yusign.com/quote/1350.html 行业 资讯 企业新闻 行情 企业黄页 同类资讯 网站地图 返回首页 述古往 http://w.yusign.com/mobile/ , 查看更多