教你用Python批量查詢關鍵詞微信指數。
前期準備安裝好Python開發環境及Fiddler抓包工具。前期準備安裝好Python開發環境及Fiddler抓包工具。
首先打開Fiddler軟件,點擊Tools,在下拉菜單選擇Options,然后選中HTTPS,進行HTTPS設置,如下圖所示:
再進行connections設置,如下圖所示:
手機配置主要是使電腦和手機處于同一個局域網,打開手機WLAN設置,開啟手動代理,然后設置代理服務器主機名和代理服務器端口。代理服務器主機名為電腦IPv4地址,電腦運行cmd,輸入ipconfig回車即可獲取。如下圖:
代理服務器端口為Fiddler軟件connections設置的默認端口8888。當然這個端口寫可以修改成別的,只要一致就可以,這邊就直接使用默認端口了。最終配置如下圖所示:
然后手機瀏覽器訪問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(如下圖所示)。代碼中需要修改請求頭中的這三個配置。
代碼示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
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批量查詢關鍵詞微信指數的全部知識點,感謝大家的學習和對的支持。