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网络编程之TCP通信实例和socketserver框架使用例子
Apr 25 Python
探究Python的Tornado框架对子域名和泛域名的支持
May 02 Python
Python的Flask框架中使用Flask-SQLAlchemy管理数据库的教程
Jun 14 Python
python实现壁纸批量下载代码实例
Jan 25 Python
python实现批量按比例缩放图片效果
Mar 30 Python
读取json格式为DataFrame(可转为.csv)的实例讲解
Jun 05 Python
基于Python中的yield表达式介绍
Nov 19 Python
关于python 的legend图例,参数使用说明
Apr 17 Python
解决Pycharm 中遇到Unresolved reference 'sklearn'的问题
Jul 13 Python
python实现AHP算法的方法实例(层次分析法)
Sep 09 Python
Python利用imshow制作自定义渐变填充柱状图(colorbar)
Dec 10 Python
Python获取字典中某个key的value
Apr 13 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
多文件上载系统完整版
2006/10/09 PHP
php数组应用之比较两个时间的相减排序
2008/08/18 PHP
PHP写杨辉三角实例代码
2011/07/17 PHP
php中利用str_pad函数生成数字递增形式的产品编号
2013/09/30 PHP
PHP错误Warning:mysql_query()解决方法
2015/10/24 PHP
PHP 接入微信扫码支付总结(总结篇)
2016/11/03 PHP
Laravel + Elasticsearch 实现中文搜索的方法
2020/02/02 PHP
初窥JQuery(一)jquery选择符 必备知识点
2010/11/25 Javascript
js中parseFloat(参数1,参数2)定义和用法及注意事项
2013/01/27 Javascript
深入理解JavaScript编程中的同步与异步机制
2015/06/24 Javascript
js实现下拉列表选中某个值的方法(3种方法)
2015/12/17 Javascript
jQuery中each()、find()和filter()等节点操作方法详解(推荐)
2016/05/25 Javascript
理解JavaScript原型链
2016/10/25 Javascript
从零学习node.js之简易的网络爬虫(四)
2017/02/22 Javascript
js实现多行文本框统计剩余字数功能
2017/03/28 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
2017/08/15 jQuery
javascript trie前缀树的示例
2018/01/29 Javascript
JS+php后台实现文件上传功能详解
2019/03/02 Javascript
Javascript之高级数组API的使用实例
2019/03/08 Javascript
浅析我对JS延迟异步脚本的思考
2020/10/12 Javascript
python单链表实现代码实例
2013/11/21 Python
Python赋值语句后逗号的作用分析
2015/06/08 Python
Python实现的单向循环链表功能示例
2017/11/10 Python
python  Django中的apps.py的目的是什么
2018/10/15 Python
使用Python控制摄像头拍照并发邮件
2019/04/23 Python
ipython和python区别详解
2019/06/26 Python
浅谈Python中range与Numpy中arange的比较
2020/03/11 Python
JENNIFER BEHR官网:各种耳环和发饰
2020/06/07 全球购物
一份比较全的PHP面试题
2016/07/29 面试题
个人求职自荐信范文
2014/06/20 职场文书
心理咨询专业自荐信
2014/07/07 职场文书
销售员试用期自我评价
2014/09/15 职场文书
2015年教师新年寄语
2014/12/08 职场文书
联谊会开场白
2015/06/01 职场文书
坚持不是死撑,更重要的是心态
2019/08/19 职场文书
redis哨兵常用命令和监控示例详解
2021/05/27 Redis