Python批量查询关键词微信指数实例方法


Posted in Python onJune 27, 2019

教你用Python批量查询关键词微信指数

前期准备安装好Python开发环境及Fiddler抓包工具。前期准备安装好Python开发环境及Fiddler抓包工具。

首先打开Fiddler软件,点击Tools,在下拉菜单选择Options,然后选中HTTPS,进行HTTPS设置,如下图所示:

Python批量查询关键词微信指数实例方法

再进行connections设置,如下图所示:

Python批量查询关键词微信指数实例方法

手机配置主要是使电脑和手机处于同一个局域网,打开手机WLAN设置,开启手动代理,然后设置代理服务器主机名和代理服务器端口。代理服务器主机名为电脑IPv4地址,电脑运行cmd,输入ipconfig回车即可获取。如下图:

Python批量查询关键词微信指数实例方法

代理服务器端口为Fiddler软件connections设置的默认端口8888。当然这个端口写可以修改成别的,只要一致就可以,这边就直接使用默认端口了。最终配置如下图所示:

Python批量查询关键词微信指数实例方法

然后手机浏览器访问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(如下图所示)。代码中需要修改请求头中的这三个配置。

Python批量查询关键词微信指数实例方法

代码示例:

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。

Python批量查询关键词微信指数实例方法

总结:

以上就是关于Python批量查询关键词微信指数的全部知识点,感谢大家的学习和对三水点靠木的支持。

Python 相关文章推荐
Python下实现的RSA加密/解密及签名/验证功能示例
Jul 17 Python
快速了解Python中的装饰器
Jan 11 Python
在python中使用requests 模拟浏览器发送请求数据的方法
Dec 26 Python
python抖音表白程序源代码
Apr 07 Python
详解Python3除法之真除法、截断除法和下取整对比
May 23 Python
Python中栈、队列与优先级队列的实现方法
Jun 30 Python
python下的opencv画矩形和文字注释的实现方法
Jul 09 Python
pytorch 改变tensor尺寸的实现
Jan 03 Python
Python调用接口合并Excel表代码实例
Mar 31 Python
利用python清除移动硬盘中的临时文件
Oct 28 Python
Python自动化工具之实现Excel转Markdown表格
Apr 08 Python
PYTHON InceptionV3模型的复现详解
May 06 Python
Django框架orM与自定义SQL语句混合事务控制操作
Jun 27 #Python
Pycharm保存不能自动同步到远程服务器的解决方法
Jun 27 #Python
Python自定义一个异常类的方法
Jun 27 #Python
django框架事务处理小结【ORM 事务及raw sql,customize sql 事务处理】
Jun 27 #Python
python pytest进阶之conftest.py详解
Jun 27 #Python
详解Python 多线程 Timer定时器/延迟执行、Event事件
Jun 27 #Python
python pytest进阶之fixture详解
Jun 27 #Python
You might like
php socket方式提交的post详解
2008/07/19 PHP
Yii PHP Framework实用入门教程(详细介绍)
2013/06/18 PHP
php实现图片缩放功能类
2013/12/18 PHP
windows7下php开发环境搭建图文教程
2015/01/06 PHP
php判断当前用户已在别处登录的方法
2015/01/06 PHP
php计划任务之验证是否有多个进程调用同一个job的方法
2015/12/07 PHP
PHP时间类完整实例(非常实用)
2015/12/25 PHP
PHP将英文数字转换为阿拉伯数字实例讲解
2019/01/28 PHP
js脚本学习 比较实用的基础
2006/09/07 Javascript
javascript学习笔记(四) Number 数字类型
2012/06/19 Javascript
jquery设置元素的readonly和disabled的写法
2013/09/22 Javascript
一个不错的仿携程自定义数据下拉选择select
2014/09/01 Javascript
JavaScript实现Iterator模式实例分析
2015/06/09 Javascript
jQuery实现表单步骤流程导航代码分享
2015/08/28 Javascript
Bootstrap中点击按钮后变灰并显示加载中实例代码
2016/09/23 Javascript
简单理解Vue中的nextTick方法
2018/01/30 Javascript
细说webpack6 Babel的使用详解
2019/09/26 Javascript
Javascript组合继承方法代码实例解析
2020/04/02 Javascript
梳理一下vue中的生命周期
2020/12/30 Vue.js
python判断一个集合是否包含了另外一个集合中所有项的方法
2015/06/30 Python
Python提取支付宝和微信支付二维码的示例代码
2019/02/15 Python
超简单使用Python换脸实例
2019/03/27 Python
详解pycharm自动import所需的库的操作方法
2020/11/30 Python
OpenCV灰度化之后图片为绿色的解决
2020/12/01 Python
html5拖拽应用记录及注意点
2020/05/27 HTML / CSS
BRASTY捷克:购买香水、化妆品、手袋和手表
2017/07/12 全球购物
英国领先的杂志订阅网站:Magazine.co.uk
2018/01/25 全球购物
英国领先的游戏零售商:GAME
2019/09/24 全球购物
PyQt 如何创建自定义QWidget
2021/03/24 Python
新闻学专业应届生求职信
2013/11/08 职场文书
物业招聘计划书
2014/01/10 职场文书
《雨霖铃》听课反思
2014/02/13 职场文书
道路交通事故人身损害赔偿协议书
2014/11/19 职场文书
导游词之蓬莱长岛
2019/12/17 职场文书
Python趣味挑战之给幼儿园弟弟生成1000道算术题
2021/05/28 Python
Python趣味挑战之教你用pygame画进度条
2021/05/31 Python