如果你想抓取數據,又懶得寫代碼了,可以試試 web scraper 抓取數據。
相關文章:
最簡單的數據抓取教程,人人都用得上
web scraper 進階教程,人人都用得上
如果你在使用 web scraper 抓取數據,很有可能碰到如下問題中的一個或者多個,而這些問題可能直接將你計劃打亂,甚至讓你放棄 web scraper 。
下面列出幾種你可能會碰到的問題,并說明解決方案。
1、有時候我們想選擇某個鏈接,但是鼠標點擊就出觸發頁面跳轉,如何處理?
在我們選擇頁面元素的時候,勾選 “Enable key”,然后鼠標滑到要選擇的元素上,按下 S 鍵。
另外,勾選“Enable key” 后會出現三個字母,分別是 S、P、C,按 S 就是選擇當前元素,按 P 就是選擇當前元素的父元素,按 C 就是選擇當前元素的子元素,當前元素指的是鼠標所在的元素。
2、分頁數據或者滾動加載的數據,不能完全抓取,例如知乎和 twitter 等?
出現這種問題大部分是因為網絡問題,數據還沒來得及加載,web scraper 就開始解析數據,但是因為沒有及時加載,導致 web scrpaer 誤認為已經抓取完畢。
所以適當的調大 delay 的大小,延長等待時間,讓數據有足夠的時間加載。默認的 delay 是 2000,也就是 2 秒,可以根據網速調整。
但是,當數據量比較大的時候,出現數據抓取不完全的情況也是常有的。因為只要有一次翻頁或者一次下拉加載沒有在 delay 的時間內加載完成,那么抓取就結束了。
3、抓取的數據順序和網頁上的順序不一致?
web scraper 默認就是無序的,可以安裝 CouchDB 來保證數據的有序性。
或者采用其他變通的方式,我們最后會將數據導出到 CSV 格式,CSV 用 Excel 打開之后,可以按照某一列來排序,例如我們抓取微博數據的時候將發布時間抓取下來,然后再 Excel 中按照發布時間排序,或者知乎上的數據按照點贊數排序。
4、有些頁面元素通過 web scraper 提供的 selector 選擇器沒辦法選中?
造成這種情況的原因可能是因為網站頁面本身不符合網頁布局規范,或者你想要的數據是動態的,例如鼠標滑過才會顯示的元素等,遇到這些情況就要借助其他方法了。
其實通過鼠標操作選擇元素,最后就是為了找到元素對應的 xpath。xpath 對應到網頁上來解釋,就是定位某元素的路徑,通過元素的種類、唯一標識、樣式名稱,配合上下級關系來找到某個元素或某一類元素。
如果你沒有遇到這個問題,那就沒有必要了解 xpath,等到遇到了問題再動手去學一下就可以。
這里只是說了幾個使用 web scraper 的過程中常見的問題,如果你還遇到了其他的問題,可以在文章下面留言。
原文地址:web scraper 抓取網頁數據的幾個常見問題
還可以加我個人微信號 fengdezitai001
,添加請說明來意以便備注。
人生沒有回頭路,珍惜當下。