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 enumerate索引迭代代码解析
Jan 19 Python
使用Python读取安卓手机的屏幕分辨率方法
Mar 31 Python
python验证码识别教程之灰度处理、二值化、降噪与tesserocr识别
Jun 04 Python
PyCharm-错误-找不到指定文件python.exe的解决方法
Jul 01 Python
使用python对多个txt文件中的数据进行筛选的方法
Jul 10 Python
python django生成迁移文件的实例
Aug 31 Python
简单了解python元组tuple相关原理
Dec 02 Python
解决tensorboard多个events文件显示紊乱的问题
Feb 15 Python
部署Django到阿里云服务器教程示例
Jun 03 Python
Python打印不合法的文件名
Jul 31 Python
教你使用Python pypinyin库实现汉字转拼音
May 27 Python
Python利用机器学习算法实现垃圾邮件的识别
Jun 28 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
session在php5.3中的变化 session_is_registered() is deprecated in
2013/11/12 PHP
php获得用户ip地址的比较不错的方法
2014/02/08 PHP
PHP不用递归遍历目录下所有文件的代码
2014/07/04 PHP
PHP网站建设的流程与步骤分享
2015/09/25 PHP
PHP正则表达式函数preg_replace用法实例分析
2020/06/04 PHP
Javascript 类型转换方法
2010/10/24 Javascript
js调用webservice中的方法实现思路及代码
2013/02/25 Javascript
javascript中this的四种用法
2015/05/11 Javascript
JavaScript中指定函数名称的相关方法
2015/06/04 Javascript
jQuery插件Validation快速完成表单验证的方式
2016/07/28 Javascript
简单实现IONIC购物车功能
2017/01/10 Javascript
微信小程序开发之改变data中数组或对象的某一属性值
2018/07/05 Javascript
js中offset,client , scroll 三大元素知识点总结
2019/09/11 Javascript
vue element ui validate 主动触发错误提示操作
2020/09/21 Javascript
python使用chardet判断字符串编码的方法
2015/03/13 Python
深入理解Python 关于supper 的 用法和原理
2018/02/28 Python
Python基于递归实现电话号码映射功能示例
2018/04/13 Python
在python Numpy中求向量和矩阵的范数实例
2019/08/26 Python
PyCharm使用之配置SSH Interpreter的方法步骤
2019/12/26 Python
python3爬虫中多线程的优势总结
2020/11/24 Python
CSS3按钮鼠标悬浮实现光圈效果源码
2016/09/11 HTML / CSS
canvas绘制圆角头像的实现方法
2019/01/17 HTML / CSS
关于canvas.toDataURL 在iOS运行失败的问题解决
2020/09/16 HTML / CSS
Nike比利时官网:Nike.com (BE)
2019/02/07 全球购物
萨克斯第五大道英国:Saks Fifth Avenue英国
2019/04/01 全球购物
Dodax奥地利:音乐、电影、书籍、玩具、电子产品等
2019/08/31 全球购物
泰国第一在线超市:Tops
2021/02/13 全球购物
我能否用void** 指针作为参数, 使函数按引用接受一般指针
2013/02/16 面试题
你懂得怎么写自荐信吗?
2013/12/27 职场文书
六一儿童节主持词
2014/03/21 职场文书
护林防火标语
2014/06/27 职场文书
优秀家长自荐材料
2014/08/26 职场文书
解除劳动合同协议书
2014/09/17 职场文书
校本培训个人总结
2015/02/28 职场文书
2015年公务员工作总结
2015/04/24 职场文书
为什么RedisCluster设计成16384个槽
2021/09/25 Redis