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的源码浅要剖析Python的内存管理
Apr 16 Python
Python浅拷贝与深拷贝用法实例
May 09 Python
Python 类与元类的深度挖掘 I【经验】
May 06 Python
Pycharm技巧之代码跳转该如何回退
Jul 16 Python
python八大排序算法速度实例对比
Dec 06 Python
解决Python print 输出文本显示 gbk 编码错误问题
Jul 13 Python
详解python selenium 爬取网易云音乐歌单名
Mar 28 Python
pytorch 实现在预训练模型的 input上增减通道
Jan 06 Python
django-xadmin根据当前登录用户动态设置表单字段默认值方式
Mar 13 Python
python实现简单倒计时功能
Apr 21 Python
如何判断pytorch是否支持GPU加速
Jun 01 Python
python和C/C++混合编程之使用ctypes调用 C/C++的dll
Apr 29 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 preg_filter执行一个正则表达式搜索和替换
2012/02/27 PHP
php使用cookie显示用户上次访问网站日期的方法
2015/01/26 PHP
Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)
2016/06/13 PHP
ThinkPHP5 框架引入 Go AOP,PHP AOP编程项目详解
2020/05/12 PHP
PHP二维数组分页2种实现方法解析
2020/07/09 PHP
JavaScript开发时的五个注意事项
2007/12/08 Javascript
JS过滤url参数特殊字符的实现方法
2013/12/24 Javascript
用jQuery与JSONP轻松解决跨域访问的问题
2014/02/04 Javascript
jquery根据属性和index来查找属性值并操作
2014/07/25 Javascript
jquery UI Datepicker时间控件的使用方法(基础版)
2015/11/07 Javascript
JS创建对象几种不同方法详解
2016/03/01 Javascript
jquery.serialize() 函数语法及简单实例
2016/07/08 Javascript
Javascript中的对象和原型(二)
2016/08/12 Javascript
HTML5 实现的一个俄罗斯方块实例代码
2016/09/19 Javascript
Vue.js tab实现选项卡切换
2017/05/16 Javascript
JavaScript中变量提升与函数提升经典实例分析
2018/07/26 Javascript
使用layer弹窗和layui表单实现新增功能
2018/08/09 Javascript
jquery实现联想词搜索框和搜索结果分页的示例
2018/10/10 jQuery
深入理解javascript prototype的相关知识
2019/09/19 Javascript
[26:21]浴火之凤-TI4世界冠军Newbee战队纪录片
2014/08/07 DOTA
[01:57]DOTA2上海特锦赛小组赛解说单车采访花絮
2016/02/27 DOTA
[58:09]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第三场 6.2
2018/06/03 DOTA
Python实现给qq邮箱发送邮件的方法
2015/05/28 Python
详解如何使用Python编写vim插件
2017/11/28 Python
Python3内置模块之base64编解码方法详解
2019/07/13 Python
Python实现UDP程序通信过程图解
2020/05/15 Python
【HTML5】3D模型--百行代码实现旋转立体魔方实例
2016/12/16 HTML / CSS
将世界上最美丽的摄影作品转化为艺术作品:Photos.com
2017/11/28 全球购物
售后专员岗位职责
2013/12/08 职场文书
班组长岗位职责
2014/03/03 职场文书
2014年重阳节敬老活动方案
2014/09/16 职场文书
2014年镇党建工作汇报材料
2014/11/02 职场文书
《花钟》教学反思
2016/02/17 职场文书
MySQL InnoDB ReplicaSet(副本集)简单介绍
2021/04/24 MySQL
如何理解Vue简单状态管理之store模式
2021/05/15 Vue.js
nginx中封禁ip和允许内网ip访问的实现示例
2022/03/17 Servers