python爬取微博評(píng)論源碼,由論壇大神原創(chuàng)制作的一個(gè)爬取程序,可以爬取微博評(píng)論,用戶可以單獨(dú)搜索某個(gè)博主的微博,搜索歷史時(shí)間線,快速爬取獲取目標(biāo)微博下的全部評(píng)論,并直接導(dǎo)入到txt文檔內(nèi)。本次放出python爬取微博評(píng)論工具源碼下載,感興趣的朋友們不妨試試吧!
python爬取微博評(píng)論思路
打開網(wǎng)址[https://m.weibo.cn/detail/4478512314460101]
點(diǎn)擊萬能的F12
點(diǎn)擊:->網(wǎng)絡(luò)->XHR->hotflow.....->預(yù)覽
網(wǎng)址:[https://m.weibo.cn/comments/hotflow?id=4478512314460101&mid=4478512314460101&max_id_type=0]
已經(jīng)可以確定這個(gè)是評(píng)論的json接口了
然后看第二頁有什么區(qū)別
往下拉,看第二頁
看來數(shù)據(jù)沒什么區(qū)別
第一頁網(wǎng)址:[https://m.weibo.cn/comments/hotflow?id=4478512314460101&mid=4478512314460101&max_id_type=0]
第二頁網(wǎng)址:[https://m.weibo.cn/comments/hotflow?id=4478512314460101&mid=4478512314460101&max_id_type=0&max_id=17250816281250492]
咦,第一頁和第二頁多出來一個(gè)max_id參數(shù)(后面其他頁數(shù)也是這里就不做演示了)
看一下第一頁數(shù)據(jù)中是否有max_id
果然有max_id,還是第二頁的(看懂了一切)
那就是說:第二頁的max_id在第一頁中,第三頁的在第二頁中,以此類推
python爬取微博評(píng)論源碼
import requests
import json
import re
import os
'''
說明:請(qǐng)?zhí)砑拥?1行的cookie,修改第26行的保存路徑
作者:帥氣逼人的鋼鐵直男---幻夜
'''
headers = {#請(qǐng)求標(biāo)題頭
'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4086.0 Mobile Safari/537.36',
'cookie':''#請(qǐng)?zhí)顚懽约旱腸ookie
}
id = input("請(qǐng)輸入ID:")#獲取ID
if id == "":#當(dāng)ID為空停止腳本
print('再見')
os._exit(0)#停止腳本
ret = requests.get('https://m.weibo.cn/detail/'+id,headers = headers).text#獲取網(wǎng)頁內(nèi)容
if '出錯(cuò)了' in str(ret):#網(wǎng)頁出錯(cuò)停止腳本
print('ID不存在')
os._exit(0)#停止腳本
title = input("請(qǐng)輸入保存文件名字:")#輸入保存文件名字
if title == "":#為空停止腳本
print('再見')
os._exit(0)#停止腳本
max_id = False#定義變量
path = "C:\\Users\\win10\\Desktop\\python\\爬蟲\\"+title+".txt"#自己修改文件路徑
if os.path.exists(path):#當(dāng)文件存在時(shí)刪除,為了不重復(fù)
os.remove(path)#刪除
page_end = 10#爬取頁數(shù),自己修改
page_start = 1
u = 1
while page_start<page_end:#當(dāng)start小于end時(shí)進(jìn)行循環(huán)
if max_id == False:#因?yàn)槲⒉┑谝豁摵推渌摰膮?shù)不一樣所以需要區(qū)分開來
url = "https://m.weibo.cn/comments/hotflow?id="+id+"&mid="+id+"&max_id_type=1"#第一頁不包含max_id
json = requests.get(url)#訪問評(píng)論json數(shù)據(jù)
else:
url = "https://m.weibo.cn/comments/hotflow?id="+id+"&mid="+id+"&max_id="+str(max_id)+"&max_id_type=0"
json = requests.get(url,headers = headers)#訪問評(píng)論json數(shù)據(jù)
json = json.json()#轉(zhuǎn)化數(shù)據(jù)
max_id = json['data']['max_id']#第二頁的max_id在第一頁中 第三頁在第二頁中...以此類推
jsons = json['data']['data']
page_start = page_start+1#自增
for j in jsons:
text = j['text']
text = re.sub(r'<(.+?)>','',text)#刪除表情包
with open(path,"a+",encoding = 'utf-8') as f:
f.write(text+'\n\n')
print("第"+str(u)+"條評(píng)論完成")
u = u+1
print('完成')
相關(guān)新聞
3月20日消息 天眼查數(shù)據(jù)顯示,3月19日,微博的運(yùn)營主體——北京微夢(mèng)創(chuàng)科網(wǎng)絡(luò)技術(shù)有限公司發(fā)生多項(xiàng)工商變更。
其中,劉運(yùn)利退出法定代表人、經(jīng)理、執(zhí)行董事,新增微博代理首席財(cái)務(wù)官兼高級(jí)副總裁曹菲為法定代表人、董事長、經(jīng)理;新增黃爭取、谷海燕為董事。此外,注冊(cè)資本從原來的5.55億增至約5.6億,增幅為1.01%,其經(jīng)營范圍也發(fā)生了變更。
北京微夢(mèng)創(chuàng)科網(wǎng)絡(luò)技術(shù)有限公司成立于2010年8月,天眼查股東信息顯示,王巍、劉運(yùn)利分別持股29.70%,為公司最大股東。