當前位置:首頁 » 編程語言 » python爬取微博

python爬取微博

發布時間: 2023-05-20 17:59:39

㈠ 怎樣用python爬新浪微博大V所有數據

先上結論,通過公開的api如果想爬到某大v的所有數據,需要滿足以下兩個條件:
1、在你的爬蟲開始運行時,該大v的所有微博發布量沒有超過回溯查詢的上限,新浪是2000,twitter是3200。
2、爬蟲程序必須不間斷運行。
新浪微博的api基本完全照搬twitter,其中介面的參數特性與底層的Nosql密不可分,建議先看點Nosql資料庫的設計理念有助於更好的理解api設計。
一般來說,如果決定爬某個大v,第一步先試獲取該用戶的基本信息,中間會包含一條最新的status,記下其中的id號作為基準,命名為baseId。
介面中最重要的兩個參數:
since_id:返回ID比since_id大的微博(即比since_id時間晚的微博),默認為0。
max_id:返回ID小於或等於max_id的微博,默認為0。
出於各種原因,獲取statuses的介面,固定為按id降序排列(scan_index_forward=false),即最新的statuses返回在前。假設該微博第一天上線,就一個用戶,發了一百條,id是1到100。而你在該用戶發了第50條的時候開始運行的爬蟲,即baseId=50。
假設按每次獲取10條歷史數據遞歸,先將max_id設為baseId,獲取該用戶id為41-50的微博,再將max_id設為41重復循環,直到返回微博數量為1或0。這步沒有問題。
獲取用戶最新的statuses就有些蛋疼了,since_id=50,同樣獲取10條數據,返回的並不是id值為51-60的數據,而是100-91的數據。簡單說就是你沒法從since_id逐步更新到用戶當前status,而是得一口氣從用戶當前status更新到上次爬蟲運行時得到的最後一條status。假設你的爬蟲一個月才運行一次,該用戶在這期間發了2300條微博,根據限制你只能更新2000條,這其中最老的300條在你的系統內就會出現「斷檔」。
最後一條,以上只針對公開的api,stackoverflow上twitter
API可以申請許可權突破數量限制和更改排序機制,微博也應該有類似機制。

㈡ 怎樣用python爬新浪微博大V所有數據

先上結論,通過公開的api如果想爬到某大v的所有數據,需要滿足以下兩個條件:

1、在你的爬蟲開始運行時,該大v的所有微博發布量沒有超過回溯查詢的上限,新浪是2000,twitter是3200。
2、爬蟲程序必須不間斷運行。

新浪微博的api基本完全照搬twitter,其中介面的參數特性與底層的NoSQL密不可分,建議先看點Nosql資料庫的設計理念有助於更好的理解api設計。

一般來說,如果決定爬某個大v,第一步先試獲取該用戶的基本信息,中間會包含一條最新的status,記下其中的id號作為基準,命名為baseId。

介面中最重要的兩個參數:

since_id:返回ID比since_id大的微博(即比since_id時間晚的微博),默認為0。
max_id:返回ID小於或等於max_id的微博,默認為0。

出於各種原因,獲取statuses的介面,固定為按id降序排列(scan_index_forward=false),即最新的statuses返回在前。假設該微博第一天上線,就一個用戶,發了一百條,id是1到100。而你在該用戶發了第50條的時候開始運行的爬蟲,即baseId=50。

㈢ python爬蟲:微博評論分析

最近王和李的離婚亮嫌轎鬧得沸沸揚揚,相信大夥們都已經吃了不少的瓜。本文結合李的第一篇文章發文下面的網友們的評論來看看大家到底怎麼看待這件事。

數據來自該地址: https://weibo.com/5977512966/L6w2sfDXb#comment

爬取的下面的全部評論:

微博的網頁屬於Ajax渲染,當我們向下滑動的時候會顯示的評論,地址欄的URL不變,需要找到實際的請求URL。

1、右擊【檢查】,找到【Network】

2、確定每頁的內容URL

這里是首頁部分

滑動之後顯示每頁內容的URL;

3、每頁的URL地址

從第二頁開始的URL地址多的部分是max_id,剛好這個參數的值是前一頁的返回內容:

4、介紹第一頁的爬取

比如我們可以獲取第一個用戶的相關信息:

最終我們可以看到第一頁爬取的數據展示:

參考上面的邏輯可以爬取到微博下面的全部評論

導入需要的庫:

查看我們爬取到數據的基本信息,我們導入前5行數據:

基本信息:查看數據的shape形狀,總共是47638行,8個欄位,並且不存在缺失值。

將敬肆我們爬取到的格林威治形式的時間轉成熟悉的標准化時間形式:

國內的省份中北京、廣東、上海、江蘇都是吃瓜的大省份!

果然:女性真的很愛吃瓜🍉遠超男性

通過點贊數和回復數來看看這篇微博下的火爆評論:

有位網友的評論87萬+的點贊數!666

同樣還是這位網友的評論,回復數也是No.1

從點贊數和回復數的整體分布者棚來看,這條評論真的是別樹一幟!已經完全偏離了其他的數據:

查看原數據我們發現這條評論就是:

看來以前的很多爆料都被錘啦!

通過用戶的年齡和點贊數、回復數來看,用戶年齡在7、8、9、10年時的用戶更為活躍;年齡偏大或者新生的微博用戶的評論較少。

同時點贊數也集中在2000-5000之間的部分

從用戶的評論時間點來看,當李發了第一篇文之後,瞬間引爆了評論(左側密集部分);這條微博沉寂了4天,沒有想到23號的晚上又火了

將粉絲的評論內容分詞找到他們的重點:

重點關注下前50個詞語:

除了兩位當事人, 粉絲還比較關心他們的孩子 。畢竟孩子是無辜的,但是他們的瓜不正是孩子引起的嗎?個人的看法。

總之:不管是王還是李,如果真的是渣男或者渣女,請上十字架,阿門!

Python爬蟲有一個非常厲害的框架Scrapy,我聯系了北京大學出版社送兩書:《Python網路爬蟲框架Scrapy從入門到精通》。 精選兩位走心留言的小夥伴

對Python爬蟲感興趣的朋友也可以直接購買喔。

㈣ 如何通過python調用新浪微博的API來爬取數據

1:安裝python(這個不多說啦)
2:下載新浪微博SDK的python包,解壓為weibopy目錄

3:申請AppKey,

流程:

1:通過oAuth認證
按我的理解簡化如下:
用戶在新浪微博給的頁面輸入賬號密碼,然後微博給應用一個PIN碼,這樣應用通過PIN碼才有許可權訪問該用戶的信息,而應用在整個過程中是接觸不到密碼的,所以用戶覺得很安全,後果很滿意
2:獲得認證之後,就可以使用微博SDK提供的API獲得信息啦
3:如果想設計web或者客戶端應用的話,那就繼續加個GUI好啦(未完成)

代碼:

#!/usr/bin/python

import webbrowser

from weibopy.auth import OAuthHandler
from weibopy.api import API

AppKey = '2525355147'
AppSecret = ''

my_auth = OAuthHandler(AppKey , AppSecret)
webbrowser.open(my_auth.get_authorization_url())
verifier = raw_input('PIN: ').strip()
my_auth.get_access_token(verifier)

my_api = API(my_auth)
for comment in my_api.mentions():
object = comment
id = object.__getattribute__("id")
text = object.__getattribute__("text")
print str(id) + " : " + text

熱點內容
登陸認證失敗請檢查伺服器地址 發布:2025-05-20 07:06:55 瀏覽:831
無限分類實現php 發布:2025-05-20 06:57:40 瀏覽:681
數據結構c語言版嚴蔚敏李冬梅 發布:2025-05-20 06:55:05 瀏覽:449
iphone快捷訪問 發布:2025-05-20 06:55:05 瀏覽:929
如何加密硬碟分區 發布:2025-05-20 06:52:29 瀏覽:363
反編譯gd 發布:2025-05-20 06:52:23 瀏覽:838
java源碼知乎 發布:2025-05-20 06:47:59 瀏覽:483
dos解壓縮命令 發布:2025-05-20 06:47:57 瀏覽:639
安卓傳數據給蘋果的軟體叫什麼 發布:2025-05-20 06:42:48 瀏覽:804
怎麼樣盤解壓力 發布:2025-05-20 06:37:08 瀏覽:85