溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用Python爬取微博熱搜榜數據

發(fā)布時間:2021-09-10 10:45:17 來源:億速云 閱讀:470 作者:chen 欄目:大數據

本篇內容介紹了“怎么用Python爬取微博熱搜榜數據”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

微博的熱搜榜對于研究大眾的流量有非常大的價值。今天的教程就來說說如何爬取微博的熱搜榜。熱搜榜的鏈接是:

https://s.weibo.com/top/summary/

用瀏覽器瀏覽,發(fā)現(xiàn)在不登錄的情況下也可以正常查看,那就簡單多了。使用開發(fā)者工具(F12)查看頁面邏輯,并拿到每條熱搜的CSS位置,方法如下:

怎么用Python爬取微博熱搜榜數據

按照這個方法,拿到這個td標簽的selector是:
pl_top_realtimehot > table > tbody > tr:nth-child(3) > td.td-02

其中nth-child(3)指的是第三個tr標簽,因為這條熱搜是在第三名的位置上,但是我們要爬的是所有熱搜,因此:nth-child(3)可以去掉。還要注意的是 pl_top_realtimehot 是該標簽的id,id前需要加#號,最后變成:

#pl_top_realtimehot > table > tbody > tr > td.td-02

你可以自定義你想要爬的信息,這里我需要的信息是:熱搜的鏈接及標題、熱搜的熱度。它們分別對應的CSS選擇器是:

鏈接及標題:#pl_top_realtimehot > table > tbody > tr > td.td-02 > a
熱度:#pl_top_realtimehot > table > tbody > tr > td.td-02 > span

值得注意的是鏈接及標題是在同一個地方,鏈接在a標簽的href屬性里,標題在a的文本中,用beautifulsoup有辦法可以都拿到,請看后文代碼。

現(xiàn)在這些信息的位置我們都知道了,接下來可以開始編寫程序。默認你已經安裝好了python,并能使用cmd的pip,如果沒有的話請見這篇教程:python安裝。需要用到的python的包有:

BeautifulSoup4:
cmd/Terminal 安裝指令: pip install  beautifulsoup4.

lxml解析器:
cmd/Terminal 安裝指令: pip install lxml  
lxml是python中的一個包,這個包中包含了將html文本轉成xml對象的工具,可以定位標簽的位置。而能用來識別xml對象中這些標簽的位置的包就是Beautifulsoup4.

編寫代碼:

怎么用Python爬取微博熱搜榜數據

代碼說明請看注釋

結果:    

怎么用Python爬取微博熱搜榜數據


代碼說明請看注釋,不過這樣做,僅僅是將結果保存到數組中,結果非常不易觀看,我們下面將其保存為csv文件。

怎么用Python爬取微博熱搜榜數據

效果如下,怎么樣,是不是好看很多:

怎么用Python爬取微博熱搜榜數據


完整代碼如下,文字版請閱讀原文進入網站閱讀:

怎么用Python爬取微博熱搜榜數據

“怎么用Python爬取微博熱搜榜數據”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI