天天看點

某條微網誌評論資料爬取

1,微網誌網頁版爬取難度較大,本次爬取手機版評論資料:m.weibo.cn;

2,評論網頁為動态的,檢視方式network----XHR----請求對應的url

某條微網誌評論資料爬取
某條微網誌評論資料爬取

注:url中的id,mid與微網誌位址中的字尾一緻,評論往下滑,20條之後,會出現新的url,新的url中多了max_id,該參數類似分頁參數,在preview的data下面有,該max_id即下一條url中的max_id

import requests
import json
import pprint
import pandas as pd
import re


#伺服器傳回的内容用變量接收
response=requests.get('https://m.weibo.cn/comments/hotflow?id=4664928428097689&mid=4664928428097689&max_id_type=0')

print(response.text)
print(json.loads(response.text))
pprint.pprint(json.loads(response.text))

#字典資料
data=json.loads(response.text)
pprint.pprint(data)
users=data['data']['data']


lname=[]
ltext=[]
for user in users:
    #print(user['user']['id'])
    #print(user['user']['screen_name'])
    #print(user['text'])
    text=user['text']
    text=re.sub(r'<[^>]*>','',user['text'])  #去除圖檔
    name=user['user']['screen_name']
    
    print(name)
    print(text)
    lname.append(name)
    ltext.append(text)
    
df=pd.DataFrame({'name':lname,'comment':ltext})
df=df[['name','comment']]

df.to_excel(r'D:\comment.xlsx')