querylist采集微信公眾號文章(一個(gè)獲取微信公眾號文章的方法,你知道嗎?)
優(yōu)采云 發(fā)布時(shí)間: 2021-12-21 18:00querylist采集微信公眾號文章(一個(gè)獲取微信公眾號文章的方法,你知道嗎?)
之前自己維護過(guò)公眾號,但是因為個(gè)人關(guān)系好久沒(méi)有更新,今天上來(lái)想起來(lái),卻無(wú)意中找到了獲取微信公眾號文章的方法。
之前的獲取方式有很多,通過(guò)搜狗、清博、web、客戶(hù)端等都可以,這個(gè)可能不太好,但是操作簡(jiǎn)單易懂。
所以。首先,您需要在微信公眾平臺上有一個(gè)賬號
微信公眾平臺:
登錄后,進(jìn)入首頁(yè),點(diǎn)擊新建群發(fā)。
選擇自創(chuàng )圖形:
好像是公眾號操作教學(xué)
進(jìn)入編輯頁(yè)面后,點(diǎn)擊超鏈接
彈出一個(gè)選擇框,我們在框中輸入對應的公眾號名稱(chēng),就會(huì )出現對應的文章列表
你驚喜嗎?您可以打開(kāi)控制臺并檢查請求的界面
打開(kāi)回復,里面有我們需要的文章鏈接
確認數據后,我們需要對這個(gè)界面進(jìn)行分析。
感覺(jué)非常簡(jiǎn)單。GET 請求攜帶一些參數。
Fakeid是公眾號的唯一ID,所以如果想直接通過(guò)名字獲取文章的列表,還需要先獲取fakeid。
當我們輸入官方賬號名稱(chēng)時(shí),點(diǎn)擊搜索??梢钥吹剿阉鹘缑姹挥|發(fā),返回fakeid。
這個(gè)接口需要的參數不多。
接下來(lái)我們就可以用代碼來(lái)模擬上面的操作了。
但您還需要使用現有的 cookie 來(lái)避免登錄。
我沒(méi)有測試過(guò)當前cookie的有效期??赡苄枰皶r(shí)更新 cookie。
測試代碼:
import requests
import json
Cookie = '請換上自己的Cookie,獲取方法:直接復制下來(lái)'
url = "https://mp.weixin.qq.com/cgi-bin/appmsg"
headers = {
"Cookie": Cookie,
"User-Agent": 'Mozilla/5.0 (Linux; Android 10; YAL-AL00 Build/HUAWEIYAL-AL00) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.64 HuaweiBrowser/10.0.1.335 Mobile Safari/537.36'
}
keyword = 'pythonlx' # 公眾號名字:可自定義
token = '你的token' # 獲取方法:如上述 直接復制下來(lái)
search_url = 'https://mp.weixin.qq.com/cgi-bin/searchbiz?action=search_biz&begin=0&count=5&query={}&token={}&lang=zh_CN&f=json&ajax=1'.format(keyword,token)
doc = requests.get(search_url,headers=headers).text
jstext = json.loads(doc)
fakeid = jstext['list'][0]['fakeid']
data = {
"token": token,
"lang": "zh_CN",
"f": "json",
"ajax": "1",
"action": "list_ex",
"begin": 0,
"count": "5",
"query": "",
"fakeid": fakeid,
"type": "9",
}
json_test = requests.get(url, headers=headers, params=data).text
json_test = json.loads(json_test)
print(json_test)
這樣就可以得到最新的10篇文章。如果想獲取更多歷史記錄文章,可以修改數據中的“begin”參數,0為第一頁(yè),5為第二頁(yè),10為第三頁(yè)(以此類(lèi)推)
但是如果你想*敏*感*詞*爬行:
請自己安排一個(gè)穩定的代理,降低爬蟲(chóng)速度,準備多個(gè)賬號,減少被屏蔽的可能性。
相關(guān)文章