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入门教程
Feb 08 Python
Python os模块介绍
Nov 30 Python
简单介绍Python中用于求最小值的min()方法
May 15 Python
使用Python的toolz库开始函数式编程的方法
Nov 15 Python
Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法示例
Oct 17 Python
调用其他python脚本文件里面的类和方法过程解析
Nov 15 Python
python+opencv3生成一个自定义纯色图教程
Feb 19 Python
python matplotlib包图像配色方案分享
Mar 14 Python
tensorflow实现将ckpt转pb文件的方法
Apr 22 Python
Python 实现PS滤镜中的径向模糊特效
Dec 03 Python
Python xlwings插入Excel图片的实现方法
Feb 26 Python
python字符串常规操作大全
May 02 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
4月1日重磅发布!《星际争霸II》6.0.0版本更新
2020/04/09 星际争霸
smarty 原来也不过如此~~呵呵
2006/11/25 PHP
PHP原理之异常机制深入分析
2010/08/08 PHP
组合算法的PHP解答方法
2012/02/04 PHP
php如何解决无法上传大于8M的文件问题
2014/03/10 PHP
javascript some()函数用法详解
2014/11/13 PHP
php获取json数据所有的节点路径
2015/05/17 PHP
php注册登录系统简化版
2020/12/28 PHP
Zend Framework常用校验器详解
2016/12/09 PHP
对采用动态原型方式无法展示继承机制得思考
2009/12/04 Javascript
js 函数的副作用分析
2011/08/23 Javascript
js Select下拉列表框进行多选、移除、交换内容的具体实现方法
2013/08/13 Javascript
jquery easyui滚动条部分设置介绍
2013/09/12 Javascript
jquery获得option的值和对option进行操作
2013/12/13 Javascript
JavaScript获取table中某一列的值的方法
2014/05/06 Javascript
在Google 地图上实现做的标记相连接
2015/01/05 Javascript
JavaScript实现简洁的俄罗斯方块完整实例
2016/03/01 Javascript
jQuery实现的纵向下拉菜单实例详解【附demo源码下载】
2016/07/09 Javascript
AngularJS基础 ng-init 指令简单示例
2016/08/02 Javascript
解析预加载显示图片艺术
2016/12/05 Javascript
原生JS实现隐藏显示图片 JS实现点击切换图片效果
2021/01/27 Javascript
webpack4 处理SCSS的方法示例
2018/09/03 Javascript
Vue中的基础过渡动画及实现原理解析
2018/12/04 Javascript
JS隐藏号码中间4位代码实例
2019/04/09 Javascript
javascript单张多张图无缝滚动实例代码
2020/05/10 Javascript
在Python中处理字符串之isdigit()方法的使用
2015/05/18 Python
解决pyttsx3无法封装的问题
2018/12/24 Python
Pytorch技巧:DataLoader的collate_fn参数使用详解
2020/01/08 Python
python中有帮助函数吗
2020/06/19 Python
python 从list中随机取值的方法
2020/11/16 Python
泰国的头号网上婴儿用品店:Motherhood.co.th
2019/04/09 全球购物
社区优秀志愿者材料
2014/02/02 职场文书
优秀学生干部推荐材料
2014/02/03 职场文书
法人代表证明书格式
2014/10/01 职场文书
质检员工作总结2015
2015/04/25 职场文书
Golang: 内建容器的用法
2021/05/05 Golang