以『公众号』为例,手把手教你爬取PC端数据

摘要:
“appmsgext_url=origin_url+”__biz={}&mid={}&sn={}&idx={}&appmsg_token={}&x5=1“.formatcontent=requests.post.json()打印打印可以看到帖子已成功发送,并提取相应的阅读号、点赞号和观看号。5。同一个公众号被扩展。如果需要获取其他文章的数据,只需更改mid和sn即可。不同文章的链接如下图所示。6.摘要本文介绍了如何在PC端抓取数据。这个过程非常详细,而且充满了干货。我希望它能在吸引有价值的想法方面发挥作用,让我们学习更多的技术!Python实时收集直播弹幕数据,用于可视化显示。在公众号后台添加微信,即可获得代码

之前教过大家如何爬取手机APP数据【以某乎为实战案例,教你用Python爬取手机App数据

思路:主要是通过手机设置代理,然后在pc端开启抓包工具获取数据包,然后在编写python代码(get方式)去请求数据

上次有粉丝说,那个是ios手机安卓手机现在需要root权限才可以安装证书,那么今天就不以手机为例,以电脑PC端为例,这样大家都可以上手尝试

今天教大家抓到post数据包之后,怎么编写python代码去狗仔构造数据包,这里以获取『微信公众号』文章的阅读数点赞数在看数为例进行讲解(之所以以这个例子,主要还是有点难度的,所以给大家分享一下这个技术)

1、抓包工具

同样,这里还是使用Fiddler

为什么要用抓包工具,不直接复制文章链接在浏览器里面采集?

以『公众号』为例,手把手教你爬取PC端数据第1张

因为在浏览器里面打开看不到阅读数点赞数、在看数等

所以这里采用抓包的方式

1.配置Fiddler

以『公众号』为例,手把手教你爬取PC端数据第2张

端口设置为8888

以『公众号』为例,手把手教你爬取PC端数据第3张

这里设置一下过滤域名,目的是只查看需要查看的域名数据包

以『公众号』为例,手把手教你爬取PC端数据第4张

2.安装证书

以『公众号』为例,手把手教你爬取PC端数据第5张

点击第一个可以在pc机上安装证书,Fiddler就可以抓取https数据包

2、pc端代理

在设置-代理,里面设置相应的ip和端口(这里ip是本机ip127.0.0.1,和fiddler中对应的端口)

以『公众号』为例,手把手教你爬取PC端数据第6张

下面就可以开始抓包

3、开始抓包

在pc机上打开微信公众号文章,比如

以『公众号』为例,手把手教你爬取PC端数据第7张

打开之后再Fiddler可以看到数据包

以『公众号』为例,手把手教你爬取PC端数据第8张

比如原文中阅读数:576、点赞:20、在看:5

以『公众号』为例,手把手教你爬取PC端数据第9张以『公众号』为例,手把手教你爬取PC端数据第10张

对应数据包返回的json数据

以『公众号』为例,手把手教你爬取PC端数据第11张

4、编程构造Post请求

抓到数据包之后,我们可以知道cookie、表单,请求链接等信息

开始编写代码之前,先给大家说一下,大概需要用到哪些数据(表单里面有很多参数,但是大部分是不需要的),蓝色选中的就是需要的参数,其他的可以忽略

以『公众号』为例,手把手教你爬取PC端数据第12张

以『公众号』为例,手把手教你爬取PC端数据第13张

请求头(这里替换cookie),User-Agent是模拟手机浏览器

# 目标url
origin_url= "http://mp.weixin.qq.com/mp/getappmsgext"

headers = {
    "Cookie": yourcookie,
    "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 MicroMessenger/6.5.2.501 NetType/WIFI WindowsWechat QBCore/3.43.27.400 QQBrowser/9.0.2524.400"
}

这里是请求需要的其中三个参数(这个三个数通用的,可以不用改)

data = {
    "is_only_read": "1",
    "is_temp_url": "0",
    "appmsg_type": "9", # 新参数,不加入无法获取like_num
}

剩下的其他参数(每个参数配备了相应的说明)

###同一个公众号,这个不变
your__biz =""
###每一篇文章mid都不同
article_mid=""
###每一篇文章sn都不同
article_sn=""
###不变
article_idx="1"
###几十分钟有效,之后需要再次抓包更新
yourappmsg_token="1108_eNbZz5PR1hNkY3Duto6YbmYgGkvHMZaVbiPUGLsS53iccow77rh73HxzFPHQby1-Lw8AqItVlg_d96MU"

构造请求

​​​​​​​
origin_url = "https://mp.weixin.qq.com/mp/getappmsgext?"
appmsgext_url = origin_url + "__biz={}&mid={}&sn={}&idx={}&appmsg_token={}&x5=1".format(your__biz, article_mid, article_sn, article_idx, yourappmsg_token)
content = requests.post(appmsgext_url, headers=headers, data=data).json()

print(content)
print(content["appmsgstat"]["read_num"], content["appmsgstat"]["old_like_num"],content["appmsgstat"]["like_num"])

以『公众号』为例,手把手教你爬取PC端数据第14张

可以看到已经成功发送post成功,并且提取出对应的阅读数、点赞数、在看数

5、扩展

同一个公众号,如果需要获取其他文章的这些数据,只需要改变mid和sn就可以了,不同文章的链接如下图所示

以『公众号』为例,手把手教你爬取PC端数据第15张

6、小结

本文讲解了如何爬取PC端数据(以微信公众号为例),过程很详细,满满干货,希望可以起到抛砖引玉效果,让大家学到更多技术!

推荐阅读

手把手教你实现『B站直播』弹幕实时分析

以『B站直播』为例,实现数据『实时』可视化分析

Flask结合ECharts实现在线可视化效果,超级详细!

python实时采集直播弹幕数据进行可视化展示

公众号后台添加微信,可领取代码

以『公众号』为例,手把手教你爬取PC端数据第16张​​​​​​​

免责声明:文章转载自《以『公众号』为例,手把手教你爬取PC端数据》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇vue中获取客户端IP地址一些替代Xshell的软件推荐下篇

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

相关文章

burp安装与基础

--- 下一步的意思 Spider(蜘蛛) 括号里的都是前英文的注释.写了很久的英文翻译都有注释 burp suite是集成工具burp安装分3步 1.java安装java官网下载2.环境变配置复制JAVA路径---此电脑---属性---高级设置---环境变量---系统变量---新建变量---变量名:JAVA_HOME---粘贴路径---确定---打开ja...

Fiddler安装及证书配置教程(Windows)

本文内容皆为作者原创,码字不易,如需转载,请注明出处:https://www.cnblogs.com/temari/p/13418037.html 一,配置信息: 1.Fiddler版本:Fiddler v5.0.20202.181772.操作系统:Win10 二,官网下载 官网地址:https://www.telerik.com/fiddler 2.1...

Fiddler安卓抓包详细教程

电脑端抓包一般图方便就用浏览器自带的,最近需要分析安卓一个APP的HTTP请求,尝试了wireshark(功能太强大了,然而我并不会用),tcpdump(用起来还是比较麻烦),网上搜了一下,还是使用Fiddler,Fiddler使用起来比较方便,但是只能抓http和https的包,不能抓使用socket的流量包。 一、安装与配置 从https://www....

Charles的HTTPS抓包方法及原理分析

原文地址:http://www.jianshu.com/p/870451cb4eb0 背景 作为移动平台的RD,项目开发过程中一项比较重要的甩锅技能——抓包应该大家都比较熟悉了,毕竟有些bug可能是由服务端下发的数据出错导致的。虽然抓包工具很好用,但是如果不做一些设置的话,对于HTTPS协议的请求就无能为力了,比如这样   这对于一些注重安全性的应用...

Fiddler使用随笔

Fiddler基础知识 Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修改。 代理就是在客户端和服务器之间设置一道关卡,客户端先将请求数据发送出去后,代理服务器会将数据包进行拦截,代理服务器再冒充客户端发送数据到服务器;同理,服务器将响应数据返回...

openwrt-智能路由器hack技术(2)---"网路信息监控和窃取"

openwrt-智能路由器hack技术(2)---"网路信息监控和窃取" 1   导读 PS:之前写的一个文章,现在发现结构内容排版不是太好,导致阅读体验太差,影响传播和SEO,所以现在整理拆分一下,从小处写起, 本系列介绍了两个关于智能路由器的hack技术,供大家赏玩一下。 本文主要介绍openwrt-智能路由器的数据监控功能。(为了维持本文一定的独立...