通過(guò)微信公眾平臺獲取公眾號文章的方式示例
優(yōu)采云 發(fā)布時(shí)間: 2020-08-25 02:04通過(guò)微信公眾平臺獲取公眾號文章的方式示例
選擇自建圖文:
似乎象是公眾號營(yíng)運教學(xué)了
進(jìn)入編輯頁(yè)面以后,點(diǎn)擊超鏈接
彈出選擇框,我們在框中輸入對應的公眾號名子,即可出現對應的文章列表
是不是太驚奇,可以打開(kāi)控制臺,查看一下懇求的插口
打開(kāi)response,里面就是我們須要的文章鏈接
確定了數據之后,我們須要剖析一下這個(gè)插口。
感覺(jué)很簡(jiǎn)單,一個(gè)GET懇求,攜帶一些參數。
fakeid是公眾號的獨有ID,所以想通過(guò)名子直接獲取文章列表,還須要先獲取一下fakeid。
當我們輸入公眾號名子后,點(diǎn)擊搜索??梢钥匆?jiàn)觸發(fā)了搜索插口,返回了fakeid。
這個(gè)插口所需參數也不多。
接下來(lái),我們可以用代碼來(lái)模擬以上的操作了。
但是還須要使用現有Cookie防止登入。
目前Cookie的有效期,我還沒(méi)有測試??赡茼氁皶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篇文章了,如果想要獲取更多的歷史文章,可以更改data中的"begin"參數,0是第一頁(yè),5是第二頁(yè),10是第三頁(yè)(以此類(lèi)推)
但是若果想要*敏*感*詞*抓取的話(huà):
請給自己安排一個(gè)穩定的代理,降低爬蟲(chóng)的速率,準備多個(gè)帳號,來(lái)降低被封禁的可能性。