隨著社交媒體的發(fā)展,微博逐漸成為人們獲取信息、交流觀點(diǎn)的一種重要渠道。為了更好地了解微博上的話題、用戶觀點(diǎn),我們可以使用 Python 爬取微博內(nèi)容。
首先,我們需要安裝 Python 的第三方庫(kù)——weibo-login
。這個(gè)庫(kù)可以模擬登錄微博賬號(hào),獲取賬號(hào)的 Cookie,并使用 Cookie 請(qǐng)求微博網(wǎng)站。
pip install weibo-login
接著,我們需要編寫(xiě) Python 代碼,定義微博抓取函數(shù)。
from weibo_login import WeiboLogin
import requests
import re
def get_weibo_content(keyword, page_count=1):
weibo = WeiboLogin('your username', 'your password')
weibo.login() # 模擬登錄
cookies = weibo.get_cookies() # 獲取 Cookie
headers = {
'Referer': 'https://s.weibo.com',
'Cookie': cookies,
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
url = f'https://s.weibo.com/weibo?q={keyword}&page='
weibo_content = []
for page in range(1, page_count+1):
search_url = url + str(page)
res = requests.get(search_url, headers=headers)
res.encoding = 'utf-8'
html = res.text
content_re = re.compile(r'"text": "(.*?)"')
contents = content_re.findall(html)
for content in contents:
content = content.replace('\\n', '').replace('\\t', '').replace('\\u200b', '').strip()
if content:
weibo_content.append(content)
return weibo_content
在這個(gè)函數(shù)中,我們調(diào)用了WeiboLogin
的類實(shí)例化創(chuàng)建,模擬登錄微博賬戶,獲取 Cookie 并構(gòu)造 GET 請(qǐng)求,以搜索關(guān)鍵詞為參數(shù)爬取微博網(wǎng)站。
使用這個(gè)函數(shù),我們可以輸入關(guān)鍵詞和抓取的頁(yè)數(shù),然后返回一個(gè)包含所抓取微博內(nèi)容的列表。
weibo = get_weibo_content("Python", page_count=2)
print(weibo)
以上就是使用 Python 爬取微博內(nèi)容的基本流程,你可以對(duì)代碼進(jìn)行修改和精簡(jiǎn)來(lái)達(dá)到更好地效果。需要注意的是,使用爬蟲(chóng)技術(shù)需要遵守相關(guān)法律法規(guī)并尊重對(duì)方網(wǎng)站的政策,謹(jǐn)慎使用。