八爪魚爬微博還要登錄怎麽弄
免費下載、安裝、註冊,免費版功能就夠用了,這個任務數據量不大,本地采集模式就可以了。裏面提供了壹些模板,其中也有微博的。
八爪魚采集器中提供的微博數據采集模板
但微博最麻煩的地方在於登錄操作,時不時還要輸入個驗證碼,加上統計全年的任務需要大量滾動、翻頁等操作,於是還是得用自定義任務,就不可避免要設定采集網址、采集流程、登錄操作。
采集網址
采集網址的設定基本沒有什麽問題,只要在網址中找到需要更改的參數就可以了,存在多頁的時候建議從網址來設定頁碼,靠譜壹點,自動翻頁我是怕翻錯,而且微博壹翻頁就跳出讓登錄,所以自動識別總是能成功但開始采集卻1條都抓不到。以我個人微博主頁為例,查看2019年6月的博文(/2772779897/profile?is_all=1&stat_date=201906&page=2#feedtop),發現時間軸被按月分割,6月發微博稍微多壹點,出現了換頁,於是需要修改兩個參數,月份和頁數。
個人微博截圖
在八爪魚采集器中,選擇批量生成網址,在文本框中選中要替換的參數,點擊添加參數進行設置。這裏設定的兩個參數,月份為01~12(軟件提供補零功能,很貼心了),頁碼為1~4,因為這次要統計的微博每月不超過4頁,這個要提前看好。
批量生成網址參數設定
自動生成了48個網址之後就可以保存設置,開始編輯任務。然後軟件會打開第壹個網址,並開始自動識別這壹頁的內容,並生成采集數據的結果,並給出操作提示,基本可信,不可全信。點擊生成采集設置,自動生成采集流程的框架(畢竟比自己搭要靠譜),再去調整裏面細節設置(就是這些細節折騰了好久)。
自動識別結果
采集流程
自動生成的流程圖,基本框架沒問題。
循環采集的基本框架
開始細節設定,提取列表數據沒什麽說的,刪掉壹些不需要的字段就OK。主要是打開循環中的網頁,點小齒輪打開設置:
打開循環中的網頁設置
網頁打開前這裏,怕加載不完全就打開下壹頁了,設定了等待3秒。(本來這裏嘗試用Cookie的設定繞過登錄,但沒有成功,而且獲取當前頁面Cookie的按鈕也壹直沒反應,於是放棄。)網頁打開後這裏是壹定要設定滾動的,壹開始以為滾動2次就到底,後來發現不同頁面還不壹樣,又設成了3次,間隔1秒同樣是怕沒加載完就跳過。
滾動設定這裏糾結了很久,因為總是出現相同的錯誤,明明1個頁面應該加載3次最終獲得45條數據,結果執行的時候總是只抓到15條,沒給滾。不知道是不是沒登錄的關系,還是網頁打開前沒有等待直接開了。
登錄操作
為保證順利完成多頁爬取,還是繞不過要登錄,不然壹直會跳出提示登錄對話框,什麽也采集不到。講道理微博登錄是有cookie記錄的,但放到軟件的采集任務裏就不行,每次開始都是全新的界面要求登錄,轉眼就不認得妳是誰,折騰了各種手動登錄都沒法被記住。於是參考模板裏的設定,在開始循環采集之前增加了登錄操作,加入到流程圖裏老實執行。
在流程圖中加入了登錄操作
打開網頁這裏的網址就設定為微博入口(weibo.com),後面的操作設定其實是半自動的,在預覽的網頁裏直接操作,點擊對話框或按鈕,操作提示裏面就會出現相應的動作,可以記錄下登錄時的輸入文本(用戶名、密碼)、點擊元素等操作,模擬人的操作,並自動添加到流程圖裏,不過可能會在循環後面,需要手動拖動流程圖裏的方框,調整順序,流程圖搞好了就可以開始采集。
本以為這些都設定好了就可以了吧,賬號密碼也都記下了,總該能代替我先登錄了吧。沒想到,登錄的時候,不是用戶名沒輸進去就是密碼沒輸進去,結果根本沒登錄上就執行下壹步,開始循環了,還是啥也抓不到。這時候打開網頁前的3秒等待似乎是起了作用,抓緊這3秒的時間,把自動操作沒輸進去的用戶名或者密碼手動輸入進去然後立刻再點登陸,在打開要采集的主頁前完成登陸,終於按照想的爬下了每頁包含滾動加載的所有數據,大功告成