九九热精品免费观看-九九热国产视频-九九免费精品视频-九九免费高清在线观看视频-午夜精品国产自在现线拍-午夜家庭影院

微信公眾號(hào)怎么采集文章

描述、關(guān)鍵詞和內(nèi)容URL。接下來需要解析每篇文章的具體內(nèi)容。

微信公眾號(hào)怎么采集文章?

微信公眾號(hào)是一種非常受歡迎的社交媒體應(yīng)用程序,它可以讓用戶發(fā)布、閱讀和分享各種內(nèi)容。對(duì)于內(nèi)容創(chuàng)作者來說,發(fā)布原創(chuàng)文章可以幫助他們建立粉絲群體并提高個(gè)人品牌認(rèn)知度。但是,有時(shí)候你可能需要從其他公眾號(hào)中采集一些文章,以便進(jìn)行分析或重編輯。在本文中,我們將向您介紹如何使用Python語言自動(dòng)化采集微信公眾號(hào)中的文章,并提取需要的字段。

1. 獲取公眾號(hào)的歷史文章列表

要采集文章,首先需要獲取公眾號(hào)的歷史文章列表,也就是該公眾號(hào)所有發(fā)布的文章。可以通過向微信公眾平臺(tái)發(fā)送HTTP請(qǐng)求來獲取。具體步驟如下:

a. 打開Chrome瀏覽器,登錄微信公眾平臺(tái),選擇需要采集文章的公眾號(hào)。

b. 進(jìn)入該公眾號(hào)的文章列表頁面,右鍵點(diǎn)擊頁面空白處,選擇“檢查”(或按鍵盤上的F12鍵)打開開發(fā)者工具。在新打開的窗口中選擇“Network”(網(wǎng)絡(luò))選項(xiàng)卡。

c. 在這個(gè)工具中會(huì)看到瀏覽器與服務(wù)器之間所有的HTTP請(qǐng)求和響應(yīng)信息?,F(xiàn)在需要刷新文章列表頁面,找到一個(gè)特定的請(qǐng)求鏈接。該鏈接以“https://mp.weixin.qq.com/mp/profile_ext”為開頭,含有以下幾個(gè)查詢參數(shù):action、begin、count、f、__biz、uin、key、pass_ticket、wxtoken、appmsg_token、x5為11個(gè)參數(shù)。其中,參數(shù)含義如下所示:

參數(shù) 描述

action 固定為getmsg

begin 從第幾篇文章開始獲取

count 獲取多少篇文章

f 最新的一篇文章發(fā)布時(shí)間

__biz 公眾號(hào)的唯一ID(可以在公眾號(hào)鏈接中獲?。?/p>

uin 從cookie中獲取

key 加密參數(shù)

pass_ticket 加密參數(shù)

wxtoken 加密參數(shù)

appmsg_token 加密參數(shù)

x5 固定值1

d. 將該請(qǐng)求鏈接復(fù)制粘貼到Python的requests庫(kù)中,向該鏈接發(fā)送請(qǐng)求,即可獲取公眾號(hào)的歷史文章列表。

2. 解析文章列表頁面

從請(qǐng)求結(jié)果中可以看到,返回的是一段JSON格式的數(shù)據(jù)。但是該數(shù)據(jù)仍然需要進(jìn)行解析,以提取所需的文章信息??梢允褂肞ython中的BeautifulSoup庫(kù)和json庫(kù)來進(jìn)行解析,代碼如下:

import requests from bs4 import BeautifulSoup import json

url = 'https://mp.weixin.qq.com/mp/profile_ext?action=getmsg&__biz=MjM5MDAxNzE2Mg==&f=json&offset=10&count=10&is_ok=1&scene=124&uin=MTQ3MDE1NTM1Nw%3D%3D&key=415030cfb9745a34b395ab8baa2c2c29f7e9c919b8d66048e3615457e2c1703b7d486f7f9ab61b820e6832d5055685399a159dc0d75986af65070e462222efe440e34d9d44f7b2349e399cbafbd346d1&pass_ticket=myaDDI2dBTg9NXwrUjygOS2onfeGqUP1bfFfjp4LbIRz5%2FeAE3wZwV6CCOs5IovK&wxtoken=777&appmsg_token=1022_VSjXi4XYNG5%252FX%252BLmNTt3lKufU9t2TrwiVhXrug~~&x5=0&f=json'

headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36', 'Cookie':'此處填寫自己的cookie信息' }

resp = requests.get(url, headers=headers) soup = BeautifulSoup(resp.text, 'html.parser') result = json.loads(soup.find('body').text) articles = result.get('general_msg_list').get('list')

for article in articles: title = article.get('app_msg_ext_info').get('title') description = article.get('app_msg_ext_info').get('digest') keywords = article.get('app_msg_ext_info').get('keywords') content_url = article.get('app_msg_ext_info').get('content_url') #解析單篇文章內(nèi)容 ... 該代碼將返回每篇文章的標(biāo)題、描述、關(guān)鍵詞和內(nèi)容URL。接下來需要解析每篇文章的具體內(nèi)容。

3. 解析單篇文章內(nèi)容

要解析每篇文章的具體內(nèi)容,需要使用第二步獲取到的文章內(nèi)容URL。首先需要將該URL中的amp;替換成&,因?yàn)榻?jīng)常會(huì)出現(xiàn)這種情況,然后從文章URL的HTML頁面中獲取文章正文所在的標(biāo)簽(通常是<.rich_media_content>標(biāo)簽)的內(nèi)容。然后使用正則表達(dá)式或BeautifulSoup庫(kù)對(duì)文章內(nèi)容進(jìn)行解析,這將幫助您提取所需的字段。代碼如下:

import re from bs4 import BeautifulSoup

url = '此處填寫單篇文章的URL信息,并將其中的“amp;”替換成“&”' headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36', 'Cookie':'此處填寫自己的cookie信息' }

resp = requests.get(url, headers=headers) soup = BeautifulSoup(resp.text, 'html.parser') content = soup.find('div', {'class':'rich_media_content'}).text

p1 = re.compile(r'thisIsTheTitle = "(.*)"') title = p1.findall(resp.text)[0] p2 = re.compile(r'description : "(.*)"') description = p2.findall(resp.text)[0] p3 = re.compile(r'content_url = "(.*)"') content_url = p3.findall(resp.text)[0]

文章正文中可能包含HTML標(biāo)簽,可以使用BeatifulSoup庫(kù)將HTML網(wǎng)頁文檔解析成樹形結(jié)構(gòu),并根據(jù)需要選擇特定內(nèi)容,如提取圖片、鏈接等。這樣,就可以快速、可靠地采集微信公眾號(hào)文章,并提取所需的字段。

轉(zhuǎn)載請(qǐng)說明出處
147SEO » 微信公眾號(hào)怎么采集文章

發(fā)表評(píng)論

歡迎 訪客 發(fā)表評(píng)論

一個(gè)令你著迷的主題!

查看演示 官網(wǎng)購(gòu)買
×

服務(wù)熱線

微信客服

微信客服