Fiddler微信公众号列表、浏览/查看量、评论数据抓取

摘要:
包括列表、浏览查看量、评论数据。列表数据可通过Fiddler在微信PC客户端获取,获取的数据是json数据里面包含了文章标题,发布时间等信息。从列表页点击到正文页时fiddler中可以获取浏览量及评论内容对应的json请求。所以利用Fiddler直接获取json数据的方式是一种简单且长久的方法,因为我们不用关心登录认证的问题只需降低抓取频率便不会被封号。

按之前的文章我们已经可以获取app及网页的https/http请求的json数据:
https://www.cnblogs.com/i-love-python/p/11505669.html

在此基础上可对微信公众号文章数据进行抓取。
包括列表、浏览查看量、评论数据。(无需编码登录认证,不会封号)

列表数据:

列表数据获取

列表为每个公众号历史数据入口,如图红框中的2部分。
列表数据.png

列表数据可通过Fiddler在微信PC客户端获取,获取的数据是json数据里面包含了文章标题,发布时间等信息。

列表json.png
这个列表信息是一个类似下面url的GET请求,该链接具有时效性,不过我们也可以更改其中的参数在有效时间内将列表数据抓取完,从fiddler中copy你的url后只需修改参数offset 从0 开始进行以此增加10即可。

https://mp.weixin.qq.com/mp/profile_ext?action=getmsg&uin=Mjk0NjUyMDAxOA==&key=cc53f48e7cf7aa7ee97e6502e364529020d90d2dd6007000ab49617cc3fa2ad66ae709dd9b97b832411c03c6ed45b7670ca505fef6db4e9dd5bb89561a91086559ca9af84d45c0a282b8b6f1c5e25de3&pass_ticket=y5W0nBEs90w2+Q4IBMmR9Ac+nUr7wU3n2gnY4HozBUJaTy1pIPxM2Lpz60Bhv3Fe&username=&useraction=9&t=0.35340455407091587&scene=124&__biz=MzI5MTE1MTAxNg==&is_ok=1&fromplatform=2&f=json&offset=0&count=10

列表数据解析

json数据 general_msg_list的值为字符串 这是可通过json.loads()转换 得到的list即为列表数据。
数据中最重要的四个字段如下:
datetime:文章发布时间的时间戳
fakeid:公众号的fakeid 可对应到属于哪个公众号
title:文章的标题
content_url:正文的永久url链接(该GET链接不会失效可通过浏览器打开)
列表json.png

正文数据

正文内容数据的获取比较简单,浏览器打开上面的content_url永久链接,所以可通过网页爬虫系统进行解析,requests打开获取里面文本P标签也可。

浏览查看量、评论内容:

浏览查看量及评论的内容在手机端进行抓取。从列表页点击到正文页时fiddler中可以获取浏览量及评论内容对应的json请求。
历史数据很多我们不可能人工每个数据进行点击,这时我们就可以使用按键精灵这种第三方软件模拟点击
2个请求连接如下,具有时效性。

浏览、在看量POST请求:
https://mp.weixin.qq.com/mp/getappmsgext?f=json&mock=&uin=Mjk0NjUyMDAxOA%253D%253D&key=bd7df0327aba25f5efd11ee483618f49fbf2877dae17100330b8e7505b4f4edb069a00887127db8b641c3b9d58138c4080ae90056915673989c85037d943ccdaef473572b5a74a6d1ebc4cdacd8fcc03&pass_ticket=y5W0nBEs90w2%25252BQ4IBMmR9Ac%25252BnUr7wU3n2gnY4HozBUJaTy1pIPxM2Lpz60Bhv3Fe&wxtoken=777&devicetype=Windows%26nbsp%3B7&clientversion=62070141&__biz=MzI5MTE1MTAxNg%3D%3D&appmsg_token=1030_80FpOzQ4N34ooINO01C5KuGfD4amgFIQ_iZa6sKOTQroJYHuCZGQsMA-PJafRSuDFd4Vj89fkAJZ4F3Y&x5=0&f=json


评论内容GET:
https://mp.weixin.qq.com/mp/appmsg_comment?action=getcomment&scene=0&__biz=MzI5MTE1MTAxNg==&appmsgid=2650402689&idx=1&comment_id=1029375583785992192&offset=0&limit=100&uin=Mjk0NjUyMDAxOA%253D%253D&key=bd7df0327aba25f5efd11ee483618f49fbf2877dae17100330b8e7505b4f4edb069a00887127db8b641c3b9d58138c4080ae90056915673989c85037d943ccdaef473572b5a74a6d1ebc4cdacd8fcc03&pass_ticket=y5W0nBEs90w2%25252BQ4IBMmR9Ac%25252BnUr7wU3n2gnY4HozBUJaTy1pIPxM2Lpz60Bhv3Fe&wxtoken=777&devicetype=Windows%26nbsp%3B7&clientversion=62070141&__biz=MzI5MTE1MTAxNg%3D%3D&appmsg_token=1030_80FpOzQ4N34ooINO01C5KuGfD4amgFIQ_iZa6sKOTQroJYHuCZGQsMA-PJafRSuDFd4Vj89fkAJZ4F3Y&x5=0&f=json

浏览在看.png

评论内容.png

列表、正文、浏览量数据关联

三者的数据可通过字段sn进行关联
列表数据的sn在content_url中
正文数据的sn在其url中
浏览量数据sn在其请求的request body中

和评论利用正文中的mid和评论中的appmsgid关联

总结:

微信公众号数据的获取需手机和pc结合进行抓取,参数很多如果单纯分析参数结构仿造请求获取数据的难度很大,并且如果一旦接口参数变换又得重新分析。
所以利用Fiddler直接获取json数据的方式是一种简单且长久的方法,因为我们不用关心登录认证的问题 只需降低抓取频率便不会被封号。缺点:按键精灵模拟点击有时出错

免责声明:文章转载自《Fiddler微信公众号列表、浏览/查看量、评论数据抓取》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇springboot心得笔记-常用配置ubuntu下root用户默认密码及修改方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

小米open-falcon监控系统接入手册

一、新项目接入 0、官方文档: https://book.open-falcon.org/zh_0_2/usage/getting-started.html 1、联系运维人员确定可以使用监控系统: (1)机器内网ip (2)报警接收人的信息(账户,密码) 2、登陆网页,按照官方文档配置监控项: (1)配置机器组hostgroup (2)配置报警模版temp...

在重命名SqlServer数据库时,报5030错误的解决办法

数据库不能重名名5030的错误,其实很简单原因就是有应用程序正在占用这个连接,使用这样一行命令就可以查询出正在占用的连接 use master select spid from master.dbo.sysprocesses where dbid=db_id('数据库原名') 执行下面这条语句杀掉连接进程就OK了 use master kill 54...

ArcGIS 基础2-编辑数据

本文来自ESRI官方资源,为刚入门使用ArcMap软件的同学提供帮助。 练习数据和完整文档可在百度网盘中下载: 共享地址:https://pan.baidu.com/s/1GMr0O4rNwOc61MY21zbDVA 共享目录:ArcGIS基础培训上机操作步骤   (1) 在工具栏上点击编辑器按钮以激活编辑器工具条。 (2) 点击编辑器工具条上...

NUC972-Linux系统烧录过程

一、介绍: nuc972开发板+EC21模块,实现PPP拨号。 二、相关知识: BSP(boardsupportpackage):板级支持包,介于主板硬件和操作系统之间的一层,属于操作系统的一部分。包含:U-Boot,Linux内核,交叉编译工具以及根文件系统。 u-boot(universalbootloader):系统引导,用于嵌入式系统的开机载入程序...

小程序之模板消息

使用模板消息 获取模板 id 登录https://mp.weixin.qq.com获取模板,如果没有合适的模板,可以申请添加新模板,审核通过后可使用,详见模板审核说明 页面的 <form/> 组件,属性report-submit为true时,可以声明为需发模板消息,此时点击按钮提交表单可以获取formId,用于发送模板消息。或者当用户完成支...

aws cli command line interface的安装与使用

安装 在centos中安装aws cli,安装依赖python,先装好python,然后按下述命令执行 yum install wget wget https://bootstrap.pypa.io/get-pip.py python get-pip.py pip install awscli 配置 在使用之前需要配置自己的key ID及 Access K...