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 相关文章推荐
go语言计算两个时间的时间差方法
Mar 13 Python
简单介绍Python中的decode()方法的使用
May 18 Python
pandas对指定列进行填充的方法
Apr 11 Python
Python针对给定列表中元素进行翻转操作的方法分析
Apr 27 Python
python实现Dijkstra静态寻路算法
Jan 17 Python
python re模块匹配贪婪和非贪婪模式详解
Feb 11 Python
python GUI库图形界面开发之PyQt5信号与槽基本操作
Feb 25 Python
python使用Thread的setDaemon启动后台线程教程
Apr 25 Python
python 提高开发效率的5个小技巧
Oct 19 Python
利用python+ffmpeg合并B站视频及格式转换的实例代码
Nov 24 Python
Python3 用什么IDE开发工具比较好
Nov 28 Python
python opencv实现图像配准与比较
Feb 09 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中的phpinfo()函数
2013/06/06 PHP
ThinkPHP调用百度翻译类实现在线翻译
2014/06/26 PHP
ThinkPHP模板比较标签用法详解
2014/06/30 PHP
JSON JQUERY模板实现说明
2010/07/03 Javascript
多个js与css文件的合并方法详细说明
2012/12/26 Javascript
javascript dom追加内容实现示例
2013/09/21 Javascript
js中的for如何实现foreach中的遍历
2014/05/31 Javascript
无限树Jquery插件zTree的常用功能特性总结
2014/09/11 Javascript
form.submit()不能提交表单的错误原因及解决方法
2014/10/13 Javascript
jquery+css实现绚丽的横向二级下拉菜单-附源码下载
2015/08/23 Javascript
全面解析Bootstrap排版使用方法(文字样式)
2015/11/30 Javascript
javascript中闭包(Closure)详解
2016/01/06 Javascript
Node.js模块封装及使用方法
2016/03/06 Javascript
AngularJs directive详解及示例代码
2016/09/01 Javascript
浅谈javascript的闭包
2017/01/23 Javascript
js实现打地鼠小游戏
2017/02/13 Javascript
VUE元素的隐藏和显示(v-show指令)
2017/06/23 Javascript
JavaScript原生实现观察者模式的示例
2017/12/15 Javascript
浅谈React高阶组件
2018/03/28 Javascript
js实现表格数据搜索
2020/08/09 Javascript
详解JavaScript中new操作符的解析和实现
2020/09/04 Javascript
Python Mysql数据库操作 Perl操作Mysql数据库
2009/01/12 Python
深入理解Python中命名空间的查找规则LEGB
2015/08/06 Python
python中is与双等于号“==”的区别示例详解
2017/11/21 Python
Python实现将json文件中向量写入Excel的方法
2018/03/26 Python
python tkinter控件布局项目实例
2019/11/04 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
2019/11/19 Python
Python任务调度利器之APScheduler详解
2020/04/02 Python
Python通过getattr函数获取对象的属性值
2020/10/16 Python
SheIn沙特阿拉伯:女装在线
2020/03/23 全球购物
说说在weblogic中开发消息Bean时的persistent与non-persisten的差别
2013/04/07 面试题
大学生个人简历自我评价
2013/11/16 职场文书
活动总结格式范文
2014/04/26 职场文书
2016保送生自荐信范文
2016/01/29 职场文书
2019大学毕业晚会主持词
2019/06/21 职场文书
详细谈谈MYSQL中的COLLATE是什么
2021/06/11 MySQL