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实现公历(阳历)转农历(阴历)的方法示例
Aug 22 Python
python实现机器学习之元线性回归
Sep 06 Python
python读取和保存图片5种方法对比
Sep 12 Python
对Python subprocess.Popen子进程管道阻塞详解
Oct 29 Python
python 用opencv调用训练好的模型进行识别的方法
Dec 07 Python
python requests 库请求带有文件参数的接口实例
Jan 03 Python
python DataFrame 取差集实例
Jan 30 Python
python基于Selenium的web自动化框架
Jul 14 Python
给我一面国旗 python帮你实现
Sep 30 Python
python实现把二维列表变为一维列表的方法分析
Oct 08 Python
pytorch 指定gpu训练与多gpu并行训练示例
Dec 31 Python
python和anaconda的区别
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 Smarty生成EXCEL文档的代码
2008/08/23 PHP
PHP命名空间(Namespace)的使用详解
2013/05/04 PHP
PHP strip_tags()去除HTML、XML以及PHP的标签介绍
2014/02/18 PHP
文件上传之SWFUpload插件(代码)
2015/07/30 PHP
PHP cURL获取微信公众号access_token的实例
2018/04/28 PHP
JavaScript 构造函数 面相对象学习必备知识
2010/06/09 Javascript
利用JS自动打开页面上链接的实现代码
2011/09/25 Javascript
js根据鼠标移动速度背景图片自动旋转的方法
2015/02/28 Javascript
js实现简单折叠、展开菜单的方法
2015/08/28 Javascript
jQuery实现Tab菜单滚动切换的方法
2015/09/21 Javascript
JS操作JSON方法总结(推荐)
2016/06/14 Javascript
xmlplus组件设计系列之图标(ICON)(1)
2017/05/05 Javascript
纯js实现动态时间显示
2020/09/07 Javascript
node.js中grunt和gulp的区别详解
2017/07/17 Javascript
使用JavaScript进行表单校验功能
2017/08/01 Javascript
JavaScript类型相关的常用操作总结
2019/02/14 Javascript
24个ES6方法解决JS实际开发问题(小结)
2020/05/31 Javascript
[00:32]2018DOTA2亚洲邀请赛OpTic出场
2018/04/03 DOTA
python使用smtplib模块通过gmail实现邮件发送的方法
2015/05/08 Python
python实现数值积分的Simpson方法实例分析
2015/06/05 Python
python代码 if not x: 和 if x is not None: 和 if not x is None:使用介绍
2016/09/21 Python
最近Python有点火? 给你7个学习它的理由!
2017/06/26 Python
python3 图片referer防盗链的实现方法
2018/03/12 Python
解决jupyter notebook打不开无反应 浏览器未启动的问题
2020/04/10 Python
JAVA及PYTHON质数计算代码对比解析
2020/06/10 Python
django restframework serializer 增加自定义字段操作
2020/07/15 Python
Pyecharts 中Geo函数常用参数的用法说明
2021/02/01 Python
Python解析m3u8拼接下载mp4视频文件的示例代码
2021/03/03 Python
Blue Nile蓝色尼罗河香港官网:世界最大在线钻石珠宝销售商
2020/05/07 全球购物
小学师德师风演讲稿
2014/09/02 职场文书
幼儿园校园小喇叭广播稿
2014/10/17 职场文书
酒店工程部经理岗位职责
2015/04/09 职场文书
关于践行三严三实的心得体会
2016/01/05 职场文书
两行代码解决Jupyter Notebook中文不能显示的问题
2021/04/24 Python
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
2021/06/23 Python
Python基础 括号()[]{}的详解
2021/11/07 Python