本篇文章為大家展示了Python 怎么爬取微博樹洞,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
網(wǎng)站建設哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、微信小程序定制開發(fā)、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了樂山免費建站歡迎大家使用!
尤其是對于我這種需求量比較大的項目。不過好在最后發(fā)現(xiàn)了突破口:“微博樹洞”?!拔⒉涠础笔侵感媪俗詺⑿袨榈倪^世的人的微博,其留言區(qū)成為成千上萬的抑郁癥或是絕望的人的歸屬,在其下方發(fā)布許多負能量甚至是尋死的宣言。
比如走飯的微博:
微博評論的數(shù)據(jù)接口有兩種,一種是手機版、一種是PC版。手機版能爬到的數(shù)據(jù)僅僅只有十五頁,因此我們從PC版入手,先來看看PC版的接口怎么找,長啥樣兒。
首先,在當前微博的頁面右鍵—檢查(F12)打開開發(fā)者工具,然后按照下圖的步驟進行操作(選擇NetWork—選擇XHR—隨便點擊另一個評論頁—查看右側新增的請求):
然后我們看新增的請求,你會發(fā)現(xiàn)在Preview中能看到格式化后的數(shù)據(jù),而且里面有個html,仔細觀察這個html你會發(fā)現(xiàn)這個就是評論列表的數(shù)據(jù)。我們僅需要將這個html解析出來即可。
再看看get請求的URL:
https://weibo.com/aj/v6/comment/big?ajwvr=6&id=3424883176420210&page=2&__rnd=1573219876141
ajwvr是一個固定值為6、id是指想要爬取評論的微博id、page是指第幾頁評論、_rnd是請求時的毫秒級時間戳。
不過微博是要求登錄才能看更多評論的,因此我們需要先訪問微博,拿到cookie的值才能開始爬。
關注文章最下方的Python實用寶典,回復微博評論爬蟲即可獲得本項目的完整源代碼。
設定四個參數(shù):
設定cookie:
發(fā)送請求并解析數(shù)據(jù):
解析這串HTML中我們所需要的數(shù)據(jù),這里用到了XPATH,如果你還不了解XPATH,可以看這篇文章《學爬蟲利器XPath,看這一篇就夠了》:
https://zhuanlan.zhihu.com/p/29436838
其中寫入文件的函數(shù)和下載圖片的函數(shù)如下:
以上就是我們所用到的代碼。在公眾號后臺回復 微博評論爬蟲即可下載完整源代碼(附手機版爬蟲)。
盡管如此,我們得到的數(shù)據(jù)還是不夠,PC版的微博評論頁面也僅僅支持爬到第五十頁,第五十一頁后就拿不到數(shù)據(jù)了,如圖:
不過,走飯這個微博真的很多人回復,一天的數(shù)據(jù)就差不多50頁了,我們可以通過每天定時爬50頁來獲取數(shù)據(jù)。linux系統(tǒng)可以使用crontab定時腳本實現(xiàn),windows系統(tǒng)可以通過計劃任務實現(xiàn):
https://blog.csdn.net/wwy11/article/details/51100432
這里講講crontab實現(xiàn)方法。
假設你的Python存放在/usr/bin/且將腳本命名為weibo.py 存放在home中,在終端輸入crontab -e后,在最后面增加上這一條語句即可:
0 0 * * * /usr/bin/python /home/weibo.py
上述內(nèi)容就是Python 怎么爬取微博樹洞,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
標題名稱:Python怎么爬取微博樹洞
當前鏈接:http://www.rwnh.cn/article2/ghdjoc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導航、網(wǎng)頁設計公司、營銷型網(wǎng)站建設、定制網(wǎng)站、定制開發(fā)、關鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)