溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

通過(guò)微信公眾平臺(tái)獲取公眾號(hào)文章的方法示例

發(fā)布時(shí)間:2020-08-26 20:52:13 來(lái)源:腳本之家 閱讀:249 作者:考古學(xué)家lx 欄目:web開(kāi)發(fā)

我之前自己維護(hù)了一個(gè)公眾號(hào),但因?yàn)閭€(gè)人關(guān)系很久沒(méi)有更新了,今天上來(lái)緬懷一下,卻偶然發(fā)現(xiàn)了一個(gè)獲取微信公眾號(hào)文章的方法。

之前獲取方法有很多,通過(guò)搜狗、清博、網(wǎng)頁(yè)端、客戶(hù)端等等都還可以,這個(gè)可能并沒(méi)有其他的優(yōu)秀,但是操作簡(jiǎn)單,很容易理解。

so、 首先需要有一個(gè)微信公眾平臺(tái)的賬號(hào)

微信公眾平臺(tái):https://mp.weixin.qq.com/

通過(guò)微信公眾平臺(tái)獲取公眾號(hào)文章的方法示例

登陸之后,進(jìn)入首頁(yè),點(diǎn)擊新建群發(fā)。

通過(guò)微信公眾平臺(tái)獲取公眾號(hào)文章的方法示例

選擇自建圖文:

通過(guò)微信公眾平臺(tái)獲取公眾號(hào)文章的方法示例

似乎像是公眾號(hào)運(yùn)營(yíng)教學(xué)了

進(jìn)入編輯頁(yè)面之后,點(diǎn)擊超鏈接

通過(guò)微信公眾平臺(tái)獲取公眾號(hào)文章的方法示例

彈出選擇框,我們?cè)诳蛑休斎雽?duì)應(yīng)的公眾號(hào)名字,即可出現(xiàn)對(duì)應(yīng)的文章列表

通過(guò)微信公眾平臺(tái)獲取公眾號(hào)文章的方法示例

是不是很驚奇,可以打開(kāi)控制臺(tái),查看一下請(qǐng)求的接口

通過(guò)微信公眾平臺(tái)獲取公眾號(hào)文章的方法示例

打開(kāi)response,里面就是我們需要的文章鏈接

通過(guò)微信公眾平臺(tái)獲取公眾號(hào)文章的方法示例

確定了數(shù)據(jù)以后,我們需要分析一下這個(gè)接口。

感覺(jué)很簡(jiǎn)單,一個(gè)GET請(qǐng)求,攜帶一些參數(shù)。

通過(guò)微信公眾平臺(tái)獲取公眾號(hào)文章的方法示例

fakeid是公眾號(hào)的獨(dú)有ID,所以想通過(guò)名字直接獲取文章列表,還需要先獲取一下fakeid。

當(dāng)我們輸入公眾號(hào)名字后,點(diǎn)擊搜索??梢钥吹接|發(fā)了搜索接口,返回了fakeid。

通過(guò)微信公眾平臺(tái)獲取公眾號(hào)文章的方法示例

這個(gè)接口所需參數(shù)也不多。

通過(guò)微信公眾平臺(tái)獲取公眾號(hào)文章的方法示例

接下來(lái),我們可以用代碼來(lái)模擬以上的操作了。

但是還需要使用現(xiàn)有Cookie避免登陸。

通過(guò)微信公眾平臺(tái)獲取公眾號(hào)文章的方法示例

目前Cookie的有效期,我還沒(méi)有測(cè)試??赡苄枰皶r(shí)更新Cookie。

測(cè)試代碼:

import requests
import json

Cookie = '請(qǐng)換上自己的Cookie,獲取方法:直接復(fù)制下來(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'   # 公眾號(hào)名字:可自定義
token = '你的token'    # 獲取方法:如上述 直接復(fù)制下來(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"參數(shù),0是第一頁(yè),5是第二頁(yè),10是第三頁(yè)(以此類(lèi)推)

但是如果想要大規(guī)模抓取的話:
請(qǐng)給自己安排一個(gè)穩(wěn)定的代理,降低爬蟲(chóng)的速度,準(zhǔn)備多個(gè)賬號(hào),來(lái)減少被封禁的可能性。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI