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解析发往本机的数据包示例 (解析数据包)
Jan 16 Python
Python中的localtime()方法使用详解
May 22 Python
利用python模拟实现POST请求提交图片的方法
Jul 25 Python
python实现基于SVM手写数字识别功能
May 27 Python
python+opencv打开摄像头,保存视频、拍照功能的实现方法
Jan 08 Python
Python通过2种方法输出带颜色字体
Mar 02 Python
Python3 requests模块如何模仿浏览器及代理
Jun 15 Python
浅谈keras 的抽象后端(from keras import backend as K)
Jun 16 Python
理解深度学习之深度学习简介
Apr 14 Python
python3实现无权最短路径的方法
May 12 Python
python实现语音常用度量方法的代码详解
May 25 Python
LeetCode189轮转数组python示例
Aug 05 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
Yii PHP Framework实用入门教程(详细介绍)
2013/06/18 PHP
php文件上传的例子及参数详解
2013/12/12 PHP
PHP性能分析工具XHProf安装使用教程
2015/05/13 PHP
php 指定范围内多个随机数代码实例
2016/07/18 PHP
PHP类的特性实例分析
2016/09/28 PHP
如何判断php mysqli扩展类是否开启
2016/12/24 PHP
js css后面所带参数含义介绍
2013/08/18 Javascript
全面兼容的javascript时间格式化函数(比较实用)
2014/05/14 Javascript
express的中间件basicAuth详解
2014/12/04 Javascript
判断访客终端类型集锦
2015/06/05 Javascript
JavaScript实现把数字转换成中文
2015/06/29 Javascript
基于jQuery实现的QQ表情插件
2015/08/25 Javascript
jquery实现美观的导航菜单鼠标提示特效代码
2015/09/06 Javascript
js去字符串前后空格的实现方法
2016/02/26 Javascript
JS解决iframe之间通信和自适应高度的问题
2016/08/24 Javascript
js HTML5手机刮刮乐代码
2020/09/29 Javascript
JavaScript数组基于交换的排序示例【冒泡排序】
2018/07/21 Javascript
Vue核心概念Action的总结
2019/01/18 Javascript
微信小程序实现的五星评价功能示例
2019/04/25 Javascript
bootstrap+spring boot实现面包屑导航功能(前端代码)
2019/10/09 Javascript
Python实现Linux下守护进程的编写方法
2014/08/22 Python
Django中对数据查询结果进行排序的方法
2015/07/17 Python
基于Python实现对PDF文件的OCR识别
2016/08/05 Python
Python全局变量与局部变量区别及用法分析
2018/09/03 Python
Python 使用类写装饰器的小技巧
2018/09/30 Python
python 限制函数执行时间,自己实现timeout的实例
2019/01/12 Python
Python列表删除元素del、pop()和remove()的区别小结
2019/09/11 Python
给大家整理了19个pythonic的编程习惯(小结)
2019/09/25 Python
营销与策划应届生求职信
2013/11/04 职场文书
建筑设计专业求职自我评价
2014/03/02 职场文书
党支部三会一课计划
2014/09/24 职场文书
2014党员整改措施思想汇报
2014/10/07 职场文书
雨花台导游词
2015/02/06 职场文书
2015年学校教育教学工作总结
2015/04/22 职场文书
创业者如何撰写出一份打动投资人的商业计划书?
2019/07/02 职场文书
Python办公自动化之Excel(中)
2021/05/24 Python