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中的深拷贝和浅拷贝详解
Jun 03 Python
使用Python的Scrapy框架十分钟爬取美女图
Dec 26 Python
Django admin实现图书管理系统菜鸟级教程完整实例
Dec 12 Python
对python pandas 画移动平均线的方法详解
Nov 28 Python
python简单实现AES加密和解密
Mar 28 Python
基于Django框架的权限组件rbac实例讲解
Aug 31 Python
Python利用多线程同步锁实现多窗口订票系统(推荐)
Dec 22 Python
OpenCV python sklearn随机超参数搜索的实现
Jan 17 Python
tensorflow 保存模型和取出中间权重例子
Jan 24 Python
学python最电脑配置有要求么
Jul 05 Python
Python Pygame实现俄罗斯方块
Feb 19 Python
Python可视化学习之seaborn绘制矩阵图详解
Feb 24 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
关于PHP5 Session生命周期介绍
2010/03/02 PHP
Yii输入正确验证码却验证失败的解决方法
2017/06/06 PHP
php根据命令行参数生成配置文件详解
2019/03/15 PHP
Mootools 1.2教程 设置和获取样式表属性
2009/09/15 Javascript
jQuery ul标签下拉菜单演示代码
2010/12/11 Javascript
artDialog双击会关闭对话框的修改过程分享
2013/08/05 Javascript
教你如何自定义百度分享插件以及bshare分享插件的分享按钮
2014/06/20 Javascript
一个JavaScript处理textarea中的字符成每一行实例
2014/09/22 Javascript
原生javascript实现匀速运动动画效果
2016/02/26 Javascript
jQuery Easyui加载表格出错时在表格中间显示自定义的提示内容
2016/12/08 Javascript
Angular5升级RxJS到5.5.3报错:EmptyError: no elements in sequence的解决方法
2018/04/09 Javascript
微信小程序上传图片功能(附后端代码)
2020/06/19 Javascript
详解在React.js中使用PureComponent的重要性和使用方式
2018/07/10 Javascript
微信小程序调用摄像头隐藏式拍照功能
2018/08/22 Javascript
Vue props 单向数据流的实现
2018/11/06 Javascript
electron中使用bootstrap的示例代码
2018/11/06 Javascript
JavaScript基于数组实现的栈与队列操作示例
2018/12/22 Javascript
微信小程序时间戳转日期的详解
2019/04/30 Javascript
Vue实现点击当前行变色
2020/12/14 Vue.js
Vue基本指令实例图文讲解
2021/02/25 Vue.js
利用信号如何监控Django模型对象字段值的变化详解
2017/11/27 Python
python获取程序执行文件路径的方法(推荐)
2018/04/26 Python
节日快乐! Python画一棵圣诞树送给你
2019/12/24 Python
Python字典添加,删除,查询等相关操作方法详解
2020/02/07 Python
Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解
2020/02/18 Python
详解PyQt5信号与槽的几种高级玩法
2020/03/24 Python
浅谈pandas dataframe对除数是零的处理
2020/07/20 Python
浅析数据存储的三种方式 cookie sessionstorage localstorage 的异同
2020/06/04 HTML / CSS
大一军训感言
2014/01/09 职场文书
餐厅经理岗位职责范本
2014/02/17 职场文书
餐饮采购员岗位职责
2014/03/15 职场文书
入党介绍人考察意见
2015/06/01 职场文书
使用Django实现商城验证码模块的方法
2021/06/01 Python
浅谈哪个Python库才最适合做数据可视化
2021/06/28 Python
基于Redis的List实现特价商品列表功能
2021/08/30 Redis
开发者首先否认《遗弃》被取消的传言
2022/04/11 其他游戏