web scraper 抓取网页数据的几个常见问题
如果你想抓取數(shù)據(jù),又懶得寫代碼了,可以試試 web scraper 抓取數(shù)據(jù)。
相關(guān)文章:
最簡單的數(shù)據(jù)抓取教程,人人都用得上
web scraper 進階教程,人人都用得上
如果你在使用 web scraper 抓取數(shù)據(jù),很有可能碰到如下問題中的一個或者多個,而這些問題可能直接將你計劃打亂,甚至讓你放棄 web scraper 。
下面列出幾種你可能會碰到的問題,并說明解決方案。
1、有時候我們想選擇某個鏈接,但是鼠標點擊就出觸發(fā)頁面跳轉(zhuǎn),如何處理?
在我們選擇頁面元素的時候,勾選 “Enable key”,然后鼠標滑到要選擇的元素上,按下 S 鍵。
另外,勾選“Enable key” 后會出現(xiàn)三個字母,分別是 S、P、C,按 S 就是選擇當前元素,按 P 就是選擇當前元素的父元素,按 C 就是選擇當前元素的子元素,當前元素指的是鼠標所在的元素。
2、分頁數(shù)據(jù)或者滾動加載的數(shù)據(jù),不能完全抓取,例如知乎和 twitter 等?
出現(xiàn)這種問題大部分是因為網(wǎng)絡(luò)問題,數(shù)據(jù)還沒來得及加載,web scraper 就開始解析數(shù)據(jù),但是因為沒有及時加載,導致 web scrpaer 誤認為已經(jīng)抓取完畢。
所以適當?shù)恼{(diào)大 delay 的大小,延長等待時間,讓數(shù)據(jù)有足夠的時間加載。默認的 delay 是 2000,也就是 2 秒,可以根據(jù)網(wǎng)速調(diào)整。
但是,當數(shù)據(jù)量比較大的時候,出現(xiàn)數(shù)據(jù)抓取不完全的情況也是常有的。因為只要有一次翻頁或者一次下拉加載沒有在 delay 的時間內(nèi)加載完成,那么抓取就結(jié)束了。
3、抓取的數(shù)據(jù)順序和網(wǎng)頁上的順序不一致?
web scraper 默認就是無序的,可以安裝 CouchDB 來保證數(shù)據(jù)的有序性。
或者采用其他變通的方式,我們最后會將數(shù)據(jù)導出到 CSV 格式,CSV 用 Excel 打開之后,可以按照某一列來排序,例如我們抓取微博數(shù)據(jù)的時候?qū)l(fā)布時間抓取下來,然后再 Excel 中按照發(fā)布時間排序,或者知乎上的數(shù)據(jù)按照點贊數(shù)排序。
4、有些頁面元素通過 web scraper 提供的 selector 選擇器沒辦法選中?
造成這種情況的原因可能是因為網(wǎng)站頁面本身不符合網(wǎng)頁布局規(guī)范,或者你想要的數(shù)據(jù)是動態(tài)的,例如鼠標滑過才會顯示的元素等,遇到這些情況就要借助其他方法了。
其實通過鼠標操作選擇元素,最后就是為了找到元素對應的 xpath。xpath 對應到網(wǎng)頁上來解釋,就是定位某元素的路徑,通過元素的種類、唯一標識、樣式名稱,配合上下級關(guān)系來找到某個元素或某一類元素。
如果你沒有遇到這個問題,那就沒有必要了解 xpath,等到遇到了問題再動手去學一下就可以。
這里只是說了幾個使用 web scraper 的過程中常見的問題,如果你還遇到了其他的問題,可以在文章下面留言。
原文地址:web scraper 抓取網(wǎng)頁數(shù)據(jù)的幾個常見問題
還可以加我個人微信號 fengdezitai001,添加請說明來意以便備注。
轉(zhuǎn)載于:https://www.cnblogs.com/fengzheng/p/10404445.html
總結(jié)
以上是生活随笔為你收集整理的web scraper 抓取网页数据的几个常见问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RPM打包原理、示例、详解及备查
- 下一篇: Zookeeper详细参数解析zoo.c