Python批量查詢關(guān)鍵詞微信指數(shù)實(shí)例方法
教你用Python批量查詢關(guān)鍵詞微信指數(shù)。
前期準(zhǔn)備安裝好Python開發(fā)環(huán)境及Fiddler抓包工具。前期準(zhǔn)備安裝好Python開發(fā)環(huán)境及Fiddler抓包工具。
首先打開Fiddler軟件,點(diǎn)擊Tools,在下拉菜單選擇Options,然后選中HTTPS,進(jìn)行HTTPS設(shè)置,如下圖所示:

再進(jìn)行connections設(shè)置,如下圖所示:

手機(jī)配置主要是使電腦和手機(jī)處于同一個(gè)局域網(wǎng),打開手機(jī)WLAN設(shè)置,開啟手動(dòng)代理,然后設(shè)置代理服務(wù)器主機(jī)名和代理服務(wù)器端口。代理服務(wù)器主機(jī)名為電腦IPv4地址,電腦運(yùn)行cmd,輸入ipconfig回車即可獲取。如下圖:

代理服務(wù)器端口為Fiddler軟件connections設(shè)置的默認(rèn)端口8888。當(dāng)然這個(gè)端口寫可以修改成別的,只要一致就可以,這邊就直接使用默認(rèn)端口了。最終配置如下圖所示:

然后手機(jī)瀏覽器訪問http://+IPv4地址+端口,如本例http://192.168.100.226:8888/,在頁面中點(diǎn)擊FiddlerRoot certificate下載證書,按照提示安裝即可。這樣就實(shí)現(xiàn)了全部配置,在手機(jī)訪問頁面,就可以在Fiddler中看到抓包數(shù)據(jù)了。然后手機(jī)瀏覽器訪問http://+IPv4地址+端口,如本例http://192.168.100.226:8888/,在頁面中點(diǎn)擊FiddlerRoot certificate下載證書,按照提示安裝即可。這樣就實(shí)現(xiàn)了全部配置,在手機(jī)訪問頁面,就可以在Fiddler中看到抓包數(shù)據(jù)了。
打開微信指數(shù)小程序,搜索關(guān)鍵詞,如“演唱會(huì)”,找到Host為search.weixin.qq.com的請求點(diǎn)擊進(jìn)去,取出Request Headers中的幾個(gè)參數(shù):GET,即請求連接;User-Agent用戶代理及referer(如下圖所示)。代碼中需要修改請求頭中的這三個(gè)配置。

代碼示例:
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',#需按實(shí)際抓包修改
'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', #需按實(shí)際抓包修改
'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) #需按實(shí)際抓包修改
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)
注意請求鏈接的修改,需要將取出的原始鏈接中g(shù)roupquerylist及wxindexquerylist等號(hào)后邊的字符修改成{}。關(guān)鍵詞保存在keywords.txt文件中,一行一個(gè)。運(yùn)行腳本,數(shù)據(jù)輸出如下圖所示,數(shù)據(jù)最終會(huì)保存到weixin.txt。

總結(jié):
以上就是關(guān)于Python批量查詢關(guān)鍵詞微信指數(shù)的全部知識(shí)點(diǎn),感謝大家的學(xué)習(xí)和對腳本之家的支持。
相關(guān)文章
Python遠(yuǎn)程視頻監(jiān)控程序的實(shí)例代碼
這篇文章主要介紹了Python遠(yuǎn)程視頻監(jiān)控程序的實(shí)例代碼,需要的朋友可以參考下2019-05-05
matplotlib subplot繪制多個(gè)子圖的方法示例
這篇文章主要介紹了matplotlib subplot繪制多個(gè)子圖的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
SpringMVC和SpringBoot接收參數(shù)的幾種方式詳解
這篇文章主要介紹了SpringMVC和SpringBoot接收參數(shù)的幾種方式詳解,Spring是分層的JavaSE/EE應(yīng)用輕量級開源框架,以IoC和AOP為內(nèi)核,提供了展現(xiàn)層 Spring MVC和持久層Spring JDBC以及業(yè)務(wù)層事務(wù)管理等眾多的企業(yè)級應(yīng)用技術(shù),需要的朋友可以參考下2023-07-07
瀏覽器常用基本操作之python3+selenium4自動(dòng)化測試(基礎(chǔ)篇3)
瀏覽器常用基本操作有很多種,今天給大家介紹python3+selenium4自動(dòng)化測試的操作方法,是最最基礎(chǔ)的一篇,對python3 selenium4自動(dòng)化測試相關(guān)知識(shí)感興趣的朋友一起看看吧2021-05-05
pycharm訪問mysql數(shù)據(jù)庫的方法步驟
這篇文章主要介紹了pycharm訪問mysql數(shù)據(jù)庫的方法步驟。文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
Python?Matplotlib繪制扇形圖標(biāo)簽重疊問題解決過程
在使用Matplotlib畫圖時(shí),常會(huì)遇到標(biāo)簽重疊問題的時(shí)候,所以下面這篇文章主要給大家介紹了關(guān)于Python?Matplotlib繪制扇形圖標(biāo)簽重疊問題的解決過程,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08
Python編碼時(shí)應(yīng)該注意的幾個(gè)情況
對于Python程序員,你需要注意一下本文所提到的這些事情。你也可以看看Zen of Python(Python之禪),這里面提到了一些注意事項(xiàng),并配以示例,可以幫助你快速提高2013-03-03

