微博一直是社會熱門事件的傳播渠道之一,對微博熱門事件的數據進行分析能獲得很多內在的一些價值,比如爬取正文是可以做情感分析或者切詞做詞頻分析(雲圖),用戶名可以用來統計什麼官方報社或者官網對這個關注最高,可以做個柱狀圖。同時轉發數、點贊數、還有評論數可以配合時間做一定時間內的數量分析或者時序折線圖。
做數據分析,首先要有數據來源。以最近熱門的關鍵詞比特幣爲例,今天這篇文章來分享一下,使用web scraper來快速抓取微博熱門事件關鍵詞比特幣的數據。
視頻教程:
使用的是微博移動端https://m.weibo.cn/,想要爬取的對象有用戶名、正文、時間、轉發數、點贊數、還有評論數。
需求分析
頁面地址:
https://m.weibo.cn/p/index?containerid=100103type%3D60%26q%3D%E6%AF%94%E7%89%B9%E5%B8%81%26t%3D0
這個頁面一直向下拖動,會一直有頁面加載出來。永恆君嘗試了好久都拉不到底,那應該是可以無限的向下提取內容的。
這樣的話,我們需要限定一下抓取的內容數量,否則程序就一直會滾動下去,那麼數據也就等於抓不到了。比如說我們就抓取前100條微博信息。
這個實例需要用到的選擇器是之前介紹過的Element scroll down(傳送門)
配置運行
1、Element scroll down選擇器配置
注意:抓取前100條微博信息selector需要在頁面選擇好元素後,手工輸入:nth-of-type(-n+100),類似的如果你想抓取100到200頁,那麼就輸入:nth-of-type(n+100):nth-of-type(-n+200)
2、接下來配置抓取用戶名、正文、時間、轉發數、點贊數、評論數,這個比較簡單。
整體的結構圖:
web scraper爬取的結果:
更換關鍵詞
如果要更換爬取的關鍵詞,比如“基金”,按下面的方法把web scraper的爬取起始頁更改一下即可。
1、百度裏面搜索“url編碼”,隨意打開一個在線的編碼工具。
2、輸入“基金”,點擊“UrlEncode編碼”,下面會生成一段編碼。
3、回到上面爬取“比特幣”的微博地址,
https://m.weibo.cn/p/index?containerid=100103type%3D60%26q%3D%E6%AF%94%E7%89%B9%E5%B8%81%26t%3D0
修改一下:
https://m.weibo.cn/p/index?containerid=100103type%3D60%26q%3D%E5%9F%BA%E9%87%91%26t%3D0
將剛剛生成的編碼,替換掉上面橙色的代碼,這個就是關鍵詞“基金”的爬取起始頁面。
如果你感興趣想體驗一下的話,可以聯繫我獲取sitemap配置文件
之前還寫過這些實例:
歡迎交流!