Python批量查询关键词微信指数实例方法
作者:胡斐张无忌 发布时间:2022-06-28 14:54:20
教你用Python批量查询关键词微信指数。
前期准备安装好Python开发环境及Fiddler抓包工具。前期准备安装好Python开发环境及Fiddler抓包工具。
首先打开Fiddler软件,点击Tools,在下拉菜单选择Options,然后选中HTTPS,进行HTTPS设置,如下图所示:
再进行connections设置,如下图所示:
手机配置主要是使电脑和手机处于同一个局域网,打开手机WLAN设置,开启手动代理,然后设置代理服务器主机名和代理服务器端口。代理服务器主机名为电脑IPv4地址,电脑运行cmd,输入ipconfig回车即可获取。如下图:
代理服务器端口为Fiddler软件connections设置的默认端口8888。当然这个端口写可以修改成别的,只要一致就可以,这边就直接使用默认端口了。最终配置如下图所示:
然后手机浏览器访问http://+IPv4地址+端口,如本例http://192.168.100.226:8888/,在页面中点击FiddlerRoot certificate下载证书,按照提示安装即可。这样就实现了全部配置,在手机访问页面,就可以在Fiddler中看到抓包数据了。然后手机浏览器访问http://+IPv4地址+端口,如本例http://192.168.100.226:8888/,在页面中点击FiddlerRoot certificate下载证书,按照提示安装即可。这样就实现了全部配置,在手机访问页面,就可以在Fiddler中看到抓包数据了。
打开微信指数小程序,搜索关键词,如“演唱会”,找到Host为search.weixin.qq.com的请求点击进去,取出Request Headers中的几个参数:GET,即请求连接;User-Agent用户代理及referer(如下图所示)。代码中需要修改请求头中的这三个配置。
代码示例:
import requests,urllib,json,random,time
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
headers = {'Accept-Encoding': 'gzip',
'referer': 'https://servicewechat.com/wxc026e7662ec26a3a/7/page-frame.html',#需按实际抓包修改
'content-type': 'application/json',
'User-Agent': 'Mozilla/5.0 (Linux; Android 5.1.1; vivo V3Max A Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/39.0.0.0 Mobile Safari/537.36 MicroMessenger/7.0.4.1420(0x27000435) Process/appbrand2 NetType/WIFI Language/zh_CN', #需按实际抓包修改
'Host': 'search.weixin.qq.com',
'Connection': 'Keep-Alive'
}
with open('weixin.txt','w',encoding='utf-8') as f:
for line in open('keywords.txt',encoding='utf-8-sig'):
word = line.rstrip()
kw = urllib.parse.quote(word)
url = 'https://search.weixin.qq.com/cgi-bin/searchweb/wxindex/querywxindexgroup?group_query_list={}&wxindex_query_list={}&gid=&openid=ov4ns0NiA4_Cshlsxa5pT640jC5w&search_key=1560843991380393_3137533225'.format(kw,kw) #需按实际抓包修改
html = requests.get(url,headers=headers,verify=False).text
time.sleep(random.uniform(2, 4))
datas = json.loads(html)
if datas.get('data'):
try:
wxindex_str = datas['data']['group_wxindex'][0]['wxindex_str']
if wxindex_str:
index = wxindex_str.split(',')[-1]
else:
index = 0
except:
index = 0
else:
index = 0
data = '{}\t{}\n'.format(word,index)
print(data.rstrip())
f.write(data)
注意请求链接的修改,需要将取出的原始链接中groupquerylist及wxindexquerylist等号后边的字符修改成{}。关键词保存在keywords.txt文件中,一行一个。运行脚本,数据输出如下图所示,数据最终会保存到weixin.txt。
总结:
猜你喜欢
- 方法一、简单安装(通过yum)1.安装epel-releaserpm -ivh http://dl.fedoraproject.
- 第一步,建立一个CPP的DLL工程,然后写如下代码,生成DLL#include <stdio.h> &nb
- 如果要写一个程序,让x1为1,x2为2,然后直到x100为100,你会怎么做?在C这种静态语言里,变量名这个标识符实际上会被编译器直接翻译成
- Python中的闭包前几天又有人留言,关于其中一个闭包和re.sub的使用不太清楚。我在脚本之家搜索了下,发现没有写过闭包相关的东西,所以决
- 启动targetcli时遭遇ImportError: cannot import name ALUATargetPortGrou
- 前面的深入理解Routing章节,我们讲到了在MVC中,除了使用默认的ASP.NET 5的路由注册方式,还可以使用基于Attribute的特
- 目录一、图示二、准备三、一个简单服务器应用四、向服务器发送图片五、最终关键yolov5调用代码:一、图示客户端请求输入一段视频或者一个视频流
- 内容摘要:ASP开发人员为了在他们的设计项目中获得更好的性能和可扩展性而不断努力。幸运地是,有许多书籍和站点在这方面提供了很好的建议。但是这
- SqlBulkCopy 来自数据源的 String 类型的给定值不能转换为指定目标列的类型 nvarchar。 在网上找了下,大都说是因为数
- '====================================='功能:根据ip地址输出地区'参数:ip
- 一、初始化CounterCounter支持3种形式的初始化,比如提供一个数组,一个字典,或单独键值对“=”式赋值。具体初始化的代码如下所示:
- python3.6.4安装opencv3.4.2使用pip安装OpenCV直接安装最新版:pip3 install opencv_pytho
- getattr()函数是Python自省的核心函数,具体使用大体如下:获取对象引用getattrGetattr用于返回一个对象属性,或者方法
- 文件名:Awa_temp.Class.asp 代码如下:<% 'Crazy蛙!模板操作类 '作者C
- 1.建表代码如下:-- Create table create table test ( dm1 char(3), dm2 char(3),
- 总经一下前段时间用于的jQuery方法:find及children。需要的朋友可以参考下。首先看看英文解释吧: children方法:fin
- 一、概念说明柱状图(bar chart),从相同的横坐标出发,以不同的数值大小来设定柱子的高度,进而表示无序或有序的定性数据间某个定量指标的
- 语言的内存管理是语言设计的一个重要方面。它是决定语言性能的重要因素。无论是C语言的手工管理,还是Java的垃圾回收,都成为语言最重要的特征。
- 如果没有设置分页,django-rest-framework 会将所有资源类表序列化后返回,如果资源很多,就会对网站性能造成影响。为此,我们
- 当在php中使用mb_detect_encoding函数进行编码识别时,很多人都碰到过识别编码有误的问题,例如对与GB2312和UTF- 8