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的加密模块md5、sha、crypt使用实例
Sep 28 Python
Python实现计算两个时间之间相差天数的方法
May 10 Python
Python中正则表达式详解
May 17 Python
Python3.X 线程中信号量的使用方法示例
Jul 24 Python
python使用TensorFlow进行图像处理的方法
Feb 28 Python
TensorFlow实现卷积神经网络CNN
Mar 09 Python
Django中的ajax请求
Oct 19 Python
python使用socket 先读取长度,在读取报文内容示例
Sep 26 Python
python3 Scrapy爬虫框架ip代理配置的方法
Jan 17 Python
python中subplot大小的设置步骤
Jun 28 Python
使用python求解迷宫问题的三种实现方法
Mar 17 Python
python pygame 开发五子棋双人对弈
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
php中使用redis队列操作实例代码
2013/02/07 PHP
php全角字符转换为半角函数
2014/02/07 PHP
叫你如何修改Nginx与PHP的文件上传大小限制
2014/09/10 PHP
Thinkphp 5.0实现微信企业付款到零钱
2018/09/30 PHP
Prototype使用指南之hash.js
2007/01/10 Javascript
解析Jquery的LigerUI如何实现文件上传
2013/07/09 Javascript
本人自用的global.js库源码分享
2015/02/28 Javascript
JavaScript判断表单为空及获取焦点的方法
2016/02/12 Javascript
全面了解js中的script标签
2016/07/04 Javascript
深入nodejs中流(stream)的理解
2017/03/27 NodeJs
详解从angular-cli:1.0.0-beta.28.3升级到@angular/cli:1.0.0
2017/05/22 Javascript
vue引入新版 vue-awesome-swiper插件填坑问题
2018/01/25 Javascript
深入剖析Express cookie-parser中间件实现示例
2018/02/01 Javascript
详解vue的数据劫持以及操作数组的坑
2019/04/18 Javascript
redux.js详解及基本使用
2019/05/24 Javascript
JS实现导航栏楼层特效
2020/01/01 Javascript
[01:23:24]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第三场 2月7日
2021/03/11 DOTA
在Windows8上的搭建Python和Django环境
2014/07/03 Python
使用py2exe在Windows下将Python程序转为exe文件
2016/03/04 Python
利用Python实现图书超期提醒
2016/08/02 Python
python3.5 + PyQt5 +Eric6 实现的一个计算器代码
2017/03/11 Python
python多进程和多线程究竟谁更快(详解)
2017/05/29 Python
Mac中Python 3环境下安装scrapy的方法教程
2017/10/26 Python
浅谈Django自定义模板标签template_tags的用处
2017/12/20 Python
Python实现string字符串连接的方法总结【8种方式】
2018/07/06 Python
python爬虫 正则表达式解析
2019/09/28 Python
python实现简单图书管理系统
2019/11/22 Python
python 实现 hive中类似 lateral view explode的功能示例
2020/05/18 Python
HTML5中实现拖放效果无须借助javascript
2012/12/26 HTML / CSS
ASICS印度官方网站:日本专业运动品牌
2020/06/20 全球购物
教师远程培训感言
2014/03/06 职场文书
2014年大学生职业规划书:未来不是梦,只要勇敢冲!
2014/09/22 职场文书
大学生联谊活动策划书(光棍节)
2014/10/10 职场文书
格林童话读书笔记
2015/06/30 职场文书
如何解决springcloud feign 首次调用100%失败的问题
2021/06/23 Java/Android
python基础之模块的导入
2021/10/24 Python