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。
总结:


猜你喜欢
- csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格:就可以存储为csv文件,文件内容
- 本文实例为大家分享了python使用matplotlib画饼状图的具体代码,供大家参考,具体内容如下代码与详细注释from matplotl
- 在Apache, PHP, MySQL的体系架构中,MySQL对于性能的影响最大,也是关键的核心部分。对于Discuz!论坛程序也是如此,M
- 1.问题复现:有时候我们去点击.py文件 文件里明明有打印信息,却一闪而过,没有任何显示比如以下内容#!/usr/local/bin/pyt
- 如下所示:def ref_txt_demo(): f = open('1.txt', 'r') data =
- 导入依赖"element-ui": "2.13.0","file-saver":
- 概述Go 的并发模型与其他语言不同,虽说它简化了并发程序的开发难度,但如果不了解使用方法,常常会遇到 goroutine 泄露的问题。虽然
- 如何修改数据库名(db_name)及实例名(Instance_name or Service_name) Nid是Oracle从9iR2开始
- PHP引擎php.ini参数优化无论是apache还是nginx,php.ini都是适合的。而php-fpm.conf适合nginx+fcg
- 概述I/O操作不仅包括屏幕输入输出,还包括文件的读取与写入,Python提供了很多必要的方法和功能,进行文件及文件夹的相关操作。本文主要通过
- 如下所示:depot_name = models.CharField( u'设备库房名称', bla
- 折纸是日本著名的折叠纸张的艺术。折纸艺术只是使用一些不同的折叠方式,却能被用各种各样的方式组合成错综复杂的设计。而受折纸启发的logo设计则
- 为了方便的实现记录数据、修改数据没有精力去做一个完整的系统去管理数据。因此,在python的控制台直接实现一个简易的数据管理系统,包括数据的
- Pytorch提取模型特征向量# -*- coding: utf-8 -*-"""dj""
- 查找资料,基本上判断python对象是否为可调用的函数,有三种方法使用内置的callable函数callable(func)用于检查对象是否
- 情况一:坐标上的内容是文字时如上图这样一个横向的柱状图,y坐标轴的内容太长后会导致显示不全。因为数据是由后端传过来的,有些会很长有些会比较短
- 本文主要是用PyTorch来实现一个简单的回归任务。 编辑器:spyder1.引入相应的包及生成伪数据import torchimport
- 目录一、梳理功能二、准备数据库三、构造和数据库相关的实体类书籍用户NormalUser类四、封装数据库相关操作数据库链接操作针对书籍表操作针
- 平时我们获取事件对象一般写法如下:function getEvent(event) { return e
- 如果你真正理解Javascript函数是如何调用工作的,那么就可以避免一些bug的发生; 首先让我们创建一个简单的函数,这个函数将在下文中使