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操作Word批量生成文章的方法
Jul 28 Python
python中pygame针对游戏窗口的显示方法实例分析(附源码)
Nov 11 Python
Python中使用bidict模块双向字典结构的奇技淫巧
Jul 12 Python
Python 爬虫之超链接 url中含有中文出错及解决办法
Aug 03 Python
Python实现改变与矩形橡胶的线条的颜色代码示例
Jan 05 Python
flask中过滤器的使用详解
Aug 01 Python
python制作mysql数据迁移脚本
Jan 01 Python
python tkinter图形界面代码统计工具
Sep 18 Python
Python使用PyQt5/PySide2编写一个极简的音乐播放器功能
Feb 07 Python
pycharm下配置pyqt5的教程(anaconda虚拟环境下+tensorflow)
Mar 25 Python
基于Python+QT的gui程序开发实现
Jul 03 Python
Python 调用C++封装的进一步探索交流
Mar 04 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获取地址栏信息的代码
2008/10/08 PHP
一个显示效果非常不错的PHP错误、异常处理类
2014/03/21 PHP
WordPress中重置文章循环的rewind_posts()函数讲解
2016/01/11 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
2019/06/14 PHP
Laravel 集成微信用户登录和绑定的实现
2019/12/27 PHP
javascript随机将第一个dom中的图片添加到第二个div中示例
2013/10/08 Javascript
js window.onload 加载多个函数和追加函数详解
2014/01/08 Javascript
关闭浏览器窗口弹出提示框并且可以控制其失效
2014/04/15 Javascript
javascript判断数组内是否重复的方法
2015/04/21 Javascript
微信小程序switch组件使用详解
2018/01/31 Javascript
vue数据传递--我有特殊的实现技巧
2018/03/20 Javascript
jQuery实现数字自动增加或者减少的动画效果示例
2018/12/11 jQuery
vue cli安装使用less的教程详解
2019/07/12 Javascript
解决一个微信号同时支持多个环境网页授权问题
2019/08/07 Javascript
基于Element封装一个表格组件tableList的使用方法
2020/06/29 Javascript
浅谈JS for循环中使用break和continue的区别
2020/07/21 Javascript
[49:54]Ti4 循环赛第三日 LGD vs Titan
2014/07/12 DOTA
Python中让MySQL查询结果返回字典类型的方法
2014/08/22 Python
Python运算符重载详解及实例代码
2017/03/07 Python
Python实现自动登录百度空间的方法
2017/06/10 Python
Django框架 Pagination分页实现代码实例
2019/09/04 Python
python 协程中的迭代器,生成器原理及应用实例详解
2019/10/28 Python
利用python中集合的唯一性实现去重
2020/02/11 Python
Python3基本输入与输出操作实例分析
2020/02/14 Python
在Mac中PyCharm配置python Anaconda环境过程图解
2020/03/11 Python
解决python调用自己文件函数/执行函数找不到包问题
2020/06/01 Python
使用Numpy对特征中的异常值进行替换及条件替换方式
2020/06/08 Python
阿联酋航空假期:Emirates Holidays
2018/03/20 全球购物
美国婴儿和儿童家具网上商店:ABaby.com
2018/07/02 全球购物
美国手工艺品市场的领导者:Annie’s
2019/04/04 全球购物
俄罗斯韩国化妆品网上商店:Cosmasi.ru
2019/10/31 全球购物
山海经纬软件测试笔试题和面试题
2013/04/02 面试题
工伤事故处理协议书怎么写
2014/10/15 职场文书
2015年大学生党员承诺书
2015/04/27 职场文书
旅游项目合作意向书
2015/05/08 职场文书
详解Js模块化的作用原理和方案
2021/04/29 Javascript