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正则简单实例分析
Mar 21 Python
python网络爬虫之如何伪装逃过反爬虫程序的方法
Nov 23 Python
火车票抢票python代码公开揭秘!
Mar 08 Python
Python实现端口检测的方法
Jul 24 Python
Python之两种模式的生产者消费者模型详解
Oct 26 Python
Empty test suite.(PyCharm程序运行错误的解决方法)
Nov 30 Python
Python中pymysql 模块的使用详解
Aug 12 Python
python防止随意修改类属性的实现方法
Aug 21 Python
使用wxpy实现自动发送微信消息功能
Feb 28 Python
浅谈python多线程和多线程变量共享问题介绍
Apr 17 Python
python logging通过json文件配置的步骤
Apr 27 Python
python3的pip路径在哪
Jun 23 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
浅谈Windows下 PHP4.0与oracle 8的连接设置
2006/10/09 PHP
Ha0k 0.3 PHP 网页木马修改版
2009/10/11 PHP
php根据分类合并数组的方法实例详解
2013/11/06 PHP
php通过asort()给关联数组按照值排序的方法
2015/03/18 PHP
php生成图片缩略图的方法
2015/04/07 PHP
Docker 如何布置PHP开发环境
2016/06/21 PHP
php使用glob函数遍历文件和目录详解
2016/09/23 PHP
PHP单例模式数据库连接类与页面静态化实现方法
2019/03/20 PHP
跨浏览器开发经验总结(三)   警惕“IE依赖综合症”
2010/05/13 Javascript
上传的js验证(图片/文件的扩展名)
2013/04/25 Javascript
告诉你什么是javascript的回调函数
2014/09/04 Javascript
javascript实现时间格式输出FormatDate函数
2015/01/13 Javascript
深入浅析JSON.parse()、JSON.stringify()和eval()的作用详解
2016/04/03 Javascript
浅谈javascript运算符——条件,逗号,赋值,()和void运算符
2016/07/15 Javascript
jquery实现图片跟随鼠标的实例
2017/10/17 jQuery
node.js中TCP Socket多进程间的消息推送示例详解
2018/07/10 Javascript
layui自己添加图片按钮并点击跳转页面的例子
2019/09/14 Javascript
[57:16]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第二场
2014/05/26 DOTA
[41:52]2018DOTA2亚洲邀请赛3月29日小组赛B组Effect VS Secret
2018/03/30 DOTA
Python新手实现2048小游戏
2015/03/31 Python
Python 闭包的使用方法
2017/09/07 Python
xadmin使用formfield_for_dbfield函数过滤下拉表单实例
2020/04/07 Python
python飞机大战游戏实例讲解
2020/12/04 Python
美国棒球装备和用品商店:Baseball Savings
2018/06/09 全球购物
娇韵诗香港官网:Clarins香港
2020/08/13 全球购物
顺丰快递Java软件工程师面试题
2015/07/31 面试题
2014两会学习心得:时代的发展
2014/03/17 职场文书
同学会主持词
2014/03/18 职场文书
网站推广策划方案
2014/06/04 职场文书
餐厅周年庆活动方案
2014/08/25 职场文书
师德先进个人材料
2014/12/20 职场文书
建筑工程材料员岗位职责
2015/04/11 职场文书
三傻大闹宝莱坞观后感
2015/06/03 职场文书
2015年科学教研组工作总结
2015/07/22 职场文书
解决Laravel使用验证时跳转到首页的问题
2021/11/17 PHP
Java由浅入深通关抽象类与接口(上篇)
2022/04/26 Java/Android