自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

爬蟲實戰(zhàn) | 用Python爬取指定關(guān)鍵詞的微博~

開發(fā) 后端
前幾天學(xué)校一個老師在做微博的輿情分析找我?guī)退阋粋€用關(guān)鍵字爬取微博的爬蟲,再加上最近很多讀者問志斌微博爬蟲的問題,今天志斌來跟大家分享一下。

[[403373]]

本文轉(zhuǎn)載自微信公眾號「志斌的python筆記」,作者 志斌。轉(zhuǎn)載本文請聯(lián)系志斌的python筆記公眾號。

大家好,我是志斌~

前幾天學(xué)校一個老師在做微博的輿情分析找我?guī)退阋粋€用關(guān)鍵字爬取微博的爬蟲,再加上最近很多讀者問志斌微博爬蟲的問題,今天志斌來跟大家分享一下。

01分析頁面

我們此次選擇的是從移動端來對微博進行爬取。移動端的反爬就是信息校驗反爬蟲的cookie反爬蟲,所以我們首先要登陸獲取cookie。

登陸過后我們就可以獲取到自己的cookie了,有不懂的小伙伴可以看這篇文章學(xué)會Cookie,解決登錄爬取的困擾!。然后我們來觀察用戶是如何搜索微博內(nèi)容的。

平時我們都是在這個地方輸入關(guān)鍵字,來進行搜索微博。

我通過在開發(fā)者模式下對這個頁面觀察發(fā)現(xiàn),它每次對關(guān)鍵字發(fā)起請求后,就會返回一個XHR響應(yīng)。

我們現(xiàn)在已經(jīng)找到數(shù)據(jù)真實存在的頁面了,那就可以進行爬蟲的常規(guī)操作了。

02數(shù)據(jù)采集

在上面我們已經(jīng)找到了數(shù)據(jù)存儲的真實網(wǎng)頁,現(xiàn)在我們只需對該網(wǎng)頁發(fā)起請求,然后提取數(shù)據(jù)即可。

01發(fā)起請求

通過對請求頭進行觀察,我們不難構(gòu)造出請求代碼。

代碼如下:

  1. key = input("請輸入爬取關(guān)鍵字:"
  2. for page in range(1,10): 
  3.    params = ( 
  4.        ('containerid', f'100103type=1&q={key}'), 
  5.        ('page_type''searchall'), 
  6.        ('page', str(page)), 
  7.    ) 
  8.  
  9.    response = requests.get('https://m.weibo.cn/api/container/getIndex', headers=headers, params=params) 

02提取數(shù)據(jù)

從上面我們觀察發(fā)現(xiàn)這個數(shù)據(jù)可以轉(zhuǎn)化成字典來進行爬取,但是經(jīng)過我實際測試發(fā)現(xiàn),用正則來提取是最為簡單方便的,所以這里展示的是正則提取的方式,有興趣的讀者可以嘗試用字典方式來提取數(shù)據(jù)。代碼如下:

  1. r = response.text 
  2. title = re.findall('"page_title":"(.*?)"',r) 
  3. comments_count = re.findall('"comments_count":(.*?),',r) 
  4. attitudes_count = re.findall('"attitudes_count":(.*?),',r) 
  5. for i in range(len(title)): 
  6.    print(eval(f"'{title[i]}'"),comments_count[i],attitudes_count[i]) 

在這里有一個小問題要注意,微博的標題是用Unicode編碼的,如果直接爬取存儲,將存儲的是Unicode編碼,在這里要感謝大佬—小明哥的幫助,志斌在網(wǎng)上搜了好多解決方法都沒有成功,最后小明哥一個簡單的函數(shù)就給解決了,實在是佩服!

解決方案:用eval()來輸出標題,就可以將Unicode轉(zhuǎn)換成漢字了。

03小結(jié)

1. 本文詳細介紹了如何用Python指定關(guān)鍵字爬取微博,有興趣的讀者可以嘗試自己動手練習(xí)一下。

2. 本文僅供讀者學(xué)習(xí)使用,不做其他用途!

 

3. 點擊下方[在看],即可找志斌領(lǐng)取本文全部代碼。

 

責(zé)任編輯:武曉燕 來源: 志斌的python筆記
相關(guān)推薦

2011-05-24 10:51:18

關(guān)鍵詞

2011-05-17 16:44:13

seo

2011-06-20 14:32:59

關(guān)鍵詞

2011-06-07 18:45:41

關(guān)鍵詞

2011-06-14 19:11:38

關(guān)鍵詞

2013-08-26 15:43:40

AppStore關(guān)鍵詞開發(fā)者應(yīng)用選取關(guān)鍵詞

2013-04-09 18:13:44

微信公眾平臺關(guān)鍵詞

2021-11-09 09:46:09

ScrapyPython爬蟲

2021-11-08 14:38:50

框架Scrapy 爬蟲

2011-06-14 10:01:03

長尾關(guān)鍵詞

2011-06-19 12:20:47

長尾關(guān)鍵詞

2011-05-25 17:58:00

2011-05-25 17:38:56

關(guān)鍵詞

2019-12-22 13:48:26

退休科技行業(yè)大佬

2011-06-10 14:13:24

關(guān)鍵詞

2024-06-13 09:05:12

2011-06-20 15:24:43

關(guān)鍵詞

2011-07-12 18:26:42

關(guān)鍵詞

2011-06-10 13:34:17

關(guān)鍵詞

2011-07-06 18:18:01

關(guān)鍵詞密度
點贊
收藏

51CTO技術(shù)棧公眾號