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学习资料
Feb 08 Python
python中实现定制类的特殊方法总结
Sep 28 Python
Python实现抢购IPhone手机
Feb 07 Python
python3+PyQt5使用数据库表视图
Apr 24 Python
python中map的基本用法示例
Sep 10 Python
利用python计算windows全盘文件md5值的脚本
Jul 27 Python
Python 实现大整数乘法算法的示例代码
Sep 17 Python
python基于三阶贝塞尔曲线的数据平滑算法
Dec 27 Python
python可视化text()函数使用详解
Feb 11 Python
Pytorch 解决自定义子Module .cuda() tensor失败的问题
Jun 23 Python
利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)
Sep 04 Python
在pyCharm中下载第三方库的方法
Apr 18 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 CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
2012/01/16 PHP
php获取301跳转URL简单实例
2013/12/16 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
2016/09/22 PHP
Jqgrid设置全选(选择)及获取选择行的值示例代码
2013/12/28 Javascript
百度移动版的url编码解码示例
2014/04/29 Javascript
node.js WEB开发中图片验证码的实现方法
2014/06/03 Javascript
jQuery实现ichat在线客服插件
2014/12/29 Javascript
再谈javascript注入 黑客必备!
2016/09/14 Javascript
移动适配的几种方案(三种方案)
2016/11/25 Javascript
学习使用bootstrap的modal和carousel
2016/12/09 Javascript
Angular中的interceptors拦截器
2017/06/25 Javascript
MUI 实现侧滑菜单及其主体部分上下滑动的方法
2018/01/25 Javascript
vue将毫秒数转化为正常日期格式的实例
2018/09/16 Javascript
Nuxt.js SSR与权限验证的实现
2018/11/21 Javascript
小程序如何在不同设备上自适应生成海报的实现方法
2019/08/20 Javascript
Vue el-autocomplete远程搜索下拉框并实现自动填充功能(推荐)
2019/10/25 Javascript
vue+vant使用图片预览功能ImagePreview的问题解决
2020/04/10 Javascript
Vue自定义多选组件使用详解
2020/09/08 Javascript
[14:19]2018年度COSER大赛-完美盛典
2018/12/16 DOTA
[00:59]DOTA2背景故事第二期之四大基本法则
2020/07/07 DOTA
python中 ? : 三元表达式的使用介绍
2013/10/09 Python
Python获取运行目录与当前脚本目录的方法
2015/06/01 Python
sublime python3 输入换行不结束的方法
2018/04/19 Python
浅谈关于Python3中venv虚拟环境
2018/08/01 Python
用Python解数独的方法示例
2019/10/24 Python
学Python 3的理由和必要性
2019/11/19 Python
使用python写一个自动浏览文章的脚本实例
2019/12/05 Python
python3 webp转gif格式的实现示例
2019/12/10 Python
HTML5之SVG 2D入门3—文本与图像及渲染文本介绍
2013/01/30 HTML / CSS
中间件分为哪几类
2012/03/14 面试题
DIY蛋糕店的创业计划书范文
2013/12/26 职场文书
化学教师自荐信范文
2013/12/28 职场文书
护理学院专科毕业生求职信
2014/06/28 职场文书
党的群众路线对照检查材料思想汇报
2014/09/25 职场文书
先进基层党组织材料
2014/12/25 职场文书
同事离别感言
2015/08/04 职场文书