python爬取微博評論源碼,由論壇大神原創制作的一個爬取程序,可以爬取微博評論,用戶可以單獨搜索某個博主的微博,搜索歷史時間線,快速爬取獲取目標微博下的全部評論,并直接導入到txt文檔內。本次放出python爬取微博評論工具源碼下載,感興趣的朋友們不妨試試吧!
python爬取微博評論思路
打開網址[https://m.weibo.cn/detail/4478512314460101]
點擊萬能的F12
點擊:->網絡->XHR->hotflow.....->預覽
網址:[https://m.weibo.cn/comments/hotflow?id=4478512314460101&mid=4478512314460101&max_id_type=0]
已經可以確定這個是評論的json接口了
然后看第二頁有什么區別
往下拉,看第二頁
看來數據沒什么區別
第一頁網址:[https://m.weibo.cn/comments/hotflow?id=4478512314460101&mid=4478512314460101&max_id_type=0]
第二頁網址:[https://m.weibo.cn/comments/hotflow?id=4478512314460101&mid=4478512314460101&max_id_type=0&max_id=17250816281250492]
咦,第一頁和第二頁多出來一個max_id參數(后面其他頁數也是這里就不做演示了)
看一下第一頁數據中是否有max_id
果然有max_id,還是第二頁的(看懂了一切)
那就是說:第二頁的max_id在第一頁中,第三頁的在第二頁中,以此類推
python爬取微博評論源碼
import requests
import json
import re
import os
'''
說明:請添加第11行的cookie,修改第26行的保存路徑
作者:帥氣逼人的鋼鐵直男---幻夜
'''
headers = {#請求標題頭
'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':''#請填寫自己的cookie
}
id = input("請輸入ID:")#獲取ID
if id == "":#當ID為空停止腳本
print('再見')
os._exit(0)#停止腳本
ret = requests.get('https://m.weibo.cn/detail/'+id,headers = headers).text#獲取網頁內容
if '出錯了' in str(ret):#網頁出錯停止腳本
print('ID不存在')
os._exit(0)#停止腳本
title = input("請輸入保存文件名字:")#輸入保存文件名字
if title == "":#為空停止腳本
print('再見')
os._exit(0)#停止腳本
max_id = False#定義變量
path = "C:\\Users\\win10\\Desktop\\python\\爬蟲\\"+title+".txt"#自己修改文件路徑
if os.path.exists(path):#當文件存在時刪除,為了不重復
os.remove(path)#刪除
page_end = 10#爬取頁數,自己修改
page_start = 1
u = 1
while page_start<page_end:#當start小于end時進行循環
if max_id == False:#因為微博第一頁和其他頁的參數不一樣所以需要區分開來
url = "https://m.weibo.cn/comments/hotflow?id="+id+"&mid="+id+"&max_id_type=1"#第一頁不包含max_id
json = requests.get(url)#訪問評論json數據
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)#訪問評論json數據
json = json.json()#轉化數據
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)+"條評論完成")
u = u+1
print('完成')
相關新聞
3月20日消息 天眼查數據顯示,3月19日,微博的運營主體——北京微夢創科網絡技術有限公司發生多項工商變更。
其中,劉運利退出法定代表人、經理、執行董事,新增微博代理首席財務官兼高級副總裁曹菲為法定代表人、董事長、經理;新增黃爭取、谷海燕為董事。此外,注冊資本從原來的5.55億增至約5.6億,增幅為1.01%,其經營范圍也發生了變更。
北京微夢創科網絡技術有限公司成立于2010年8月,天眼查股東信息顯示,王巍、劉運利分別持股29.70%,為公司最大股東。