-
1、數(shù)據(jù)來源網(wǎng)站(手機(jī)端微博)
-
2、數(shù)據(jù)內(nèi)容
-
2.1 搜索關(guān)鍵字"#丁真#"
-
2.2 拿到瀏覽接口地址1
-
"#丁真#" 的搜索結(jié)果逛犹,接口地址
-
同樣方法拿到其余四個(gè)地址
-
丁真的世界#
-
"#丁真說不要再p了#
-
四川為了丁真有多努力#
-
"#丁真所在國企負(fù)責(zé)人回應(yīng)拒絕選秀#"
-
-
-
2.3 以第一個(gè)接口為例(#丁真的世界#)
-
2.4 拿到具體的接口調(diào)用地址
-
2.5 分析相關(guān)的返回結(jié)果參數(shù)
-
為什么要這個(gè)id 呢,因?yàn)椴榭淳唧w的微博評論需要傳入這個(gè)id
-
觀察評論接口返回?cái)?shù)據(jù)次企,找到點(diǎn)贊數(shù)和評論內(nèi)容的參數(shù)
其他一些需要的參數(shù)也能找到喲
-
-
3怯晕、分析除了數(shù)據(jù)來源潜圃,剩下的就是通過計(jì)算機(jī)程序去自動抓取數(shù)據(jù)了
-
程序可以模擬接口調(diào)用,這里用Python實(shí)現(xiàn)的
-
3.1 設(shè)置header
headers = {
'Cookie': '_T_WM=53629218447; XSRF-TOKEN=db4d17; WEIBOCN_FROM=1110006030; MLOGIN=0; M_WEIBOCN_PARAMS=fid%3D100103type%253D1%2526q%253D%2525E4%2525B8%252581%2525E7%25259C%25259F%26uicode%3D10000011', 'Referer': 'https://m.weibo.cn/detail/4312409864846621', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 Edg/87.0.664.66', 'X-Requested-With': 'XMLHttpRequest'} -
3.2 定義爬蟲的地址(這里是固定的五個(gè)和丁真相關(guān)的話題)
urls =[]
def getHostUrls():#丁真# urls.append("https://m.weibo.cn/api/container/getIndex?containerid=100103type%3D1%26q%3D%23%E4%B8%81%E7%9C%9F%23&page_type=searchall")
#丁真的世界# urls.append("https://m.weibo.cn/api/container/getIndex?containerid=100103type%3D1%26q%3D%23%E4%B8%81%E7%9C%9F%E7%9A%84%E4%B8%96%E7%95%8C%23&page_type=searchall")
"#丁真說不要再p了# urls.append("https://m.weibo.cn/api/container/getIndex?containerid=100103type%3D1%26q%3D%23%E4%B8%81%E7%9C%9F%23&page_type=searchall")
#四川為了丁真有多努力# urls.append("https://m.weibo.cn/api/container/getIndex?containerid=100103type%3D1%26q%3D%23%E5%9B%9B%E5%B7%9D%E4%B8%BA%E4%BA%86%E4%B8%81%E7%9C%9F%E6%9C%89%E5%A4%9A%E5%8A%AA%E5%8A%9B%23&page_type=searchall")
"#丁真所在國企負(fù)責(zé)人回應(yīng)拒絕選秀#" urls.append("https://m.weibo.cn/api/container/getIndex?containerid=100103type%3D1%26q%3D%23%E4%B8%81%E7%9C%9F%23&page_type=searchall")
-
3.3 詳情的爬蟲代碼 (參考的百度的解析response的代碼舟茶,自己不太想寫了)
def spider(page_num,hostUrl):main_url為要爬取的主頁地址 if page_num:
main_url = hostUrl + '&page=' + str(page_num)
微博的分頁機(jī)制是每頁10條微博 try:
r = requests.get(url=main_url, headers=headers)
r.raise_for_status()
except Exception as e:
print("爬取失敗", e)
return 0 result_json = json.loads(r.content.decode('utf-8'))
info_list = []
for card in result_json['data']['cards']:
info_list_sub = []
if card.get("mblog"):
info_list_sub.append(card['mblog']['attitudes_count']) # 獲贊數(shù) info_list_sub.append(card['mblog']['comments_count']) # 評論數(shù) info_list_sub.append(card['mblog']['reposts_count']) # 轉(zhuǎn)發(fā)數(shù) if page_num == 1:
info_list_sub.append(card['mblog']['created_at']) # 發(fā)博時(shí)間 elif '2018' not in card['mblog']['created_at']:
info_list_sub.append(card['mblog']['created_at'])
else:
print("2019年微博爬取完畢")
break info_list_sub.append(card['mblog']['weibo_position']) # 是否原創(chuàng) if card['mblog'].get('raw_text'):
info_list_sub.append(card['mblog']['raw_text']) # 微博內(nèi)容 else:
info_list_sub.append(card['mblog']['text'])if card['mblog']['source'] == '': # info_list_sub.append(None) # else: # info_list_sub.append(card['mblog']['source']) # time.sleep(random.randint(4, 6)) # 每爬取一條微博暫停4到6秒谭期,防反爬 info_list.append(info_list_sub)
else:
continue return info_list -
3.4 最終保存到csv文件中
def save_csv(infolist):
with open('weibo.csv', 'a+', encoding='utf_8_sig', newline='') as f:
writer = csv.writer(f)
writer.writerows(infolist) -
3.5 定義運(yùn)行的main方法
def main(num):
for hostUrl in urls:
for i in range(1, num+1):
information = spider(i,hostUrl)
save_csv(information)
print("第%s頁爬取完畢" % i) -
3.6 啟動代碼
print("### 開始爬取微博 ")1堵第、封裝地址到urls中g(shù)etHostUrls()
2、遍歷封裝好的urls隧出,循環(huán)查詢接口踏志,獲取評論數(shù)if name == 'main':
main(10)
-
3.7 補(bǔ)充
運(yùn)行代碼的時(shí)候,需要在.py 的同級建立一個(gè)weibo.csv文件
-
微博有反爬機(jī)制胀瞪,可以設(shè)置線程休眠
代碼中是注釋的版本
time.sleep(random.randint(4, 6)) # 每爬取一條微博暫停4到6秒针余,防反爬
-
-
-
4、git源碼地址
【爬蟲】微博評論數(shù)據(jù)抓取
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門窖剑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來坚洽,“玉大人,你說我怎么就攤上這事苛吱±沂酰” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵翠储,是天一觀的道長绘雁。 經(jīng)常有香客問我,道長援所,這世上最難降的妖魔是什么庐舟? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮住拭,結(jié)果婚禮上挪略,老公的妹妹穿的比我還像新娘。我一直安慰自己滔岳,他們只是感情好杠娱,可當(dāng)我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著谱煤,像睡著了一般摊求。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上刘离,一...
- 文/蒼蘭香墨 我猛地睜開眼曼氛,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了令野?” 一聲冷哼從身側(cè)響起搪锣,我...
- 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎彩掐,沒想到半個(gè)月后构舟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡堵幽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年狗超,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片朴下。...
- 正文 年R本政府宣布团滥,位于F島的核電站竿屹,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏灸姊。R本人自食惡果不足惜拱燃,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望力惯。 院中可真熱鬧碗誉,春花似錦、人聲如沸父晶。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽甲喝。三九已至尝苇,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背茎匠。 一陣腳步聲響...
- 正文 我出身青樓,卻偏偏與公主長得像谊惭,于是被迫代替她去往敵國和親汽馋。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 微博一直是社會熱門事件的傳播渠道之一圈盔,對微博熱門事件的數(shù)據(jù)進(jìn)行分析能獲得很多內(nèi)在的一些價(jià)值豹芯,比如爬取正文是可以做情...
- 一開始參考: https://blog.csdn.net/qq_16546829/article/details/...
- 第八章 教學(xué)評價(jià) 第一節(jié) 從考試文化走向評價(jià)文化 一铅匹、教學(xué)評價(jià)的早期發(fā)展 (一)傳統(tǒng)考試階段 ★《學(xué)記》——我國最...