Web Scraper 高級用法——Web Scraper 自動控制抓取數量 & Web Scraper 父子選擇器 | 簡易數據分析 09


這是簡易數據分析系列的第 9 篇文章。

今天我們說說 Web Scraper 的一些小功能:自動控制 Web Scraper 抓取數量和 Web Scraper 的父子選擇器。

如何只抓取前 100 條數據?

如果跟着上篇教程一步一步做下來,你會發現這個爬蟲會一直運作,根本停不下來。網頁有 1000 條數據,他就會抓取 1000 條,有 10W 條,就會抓取 10W 條。如果我們的需求很小,只想抓取前 200 條怎么辦?

如果你手動關閉抓取數據的網頁,就會發現數據全部丟失,一條都沒有保存下來,所以說這種暴力的方式不可取。我們目前有兩種方式停止 Web Scraper 的抓取。

2019-10-26 補充:0.4.2 版本的 Web Scraper 已經支持實時保存,也就是說手動關閉抓取數據的網頁也可以保存數據了

1.斷網大法

當你覺得數據抓的差不多了,直接把電腦的網絡斷了。網絡一斷瀏覽器就加載不了數據,Web Scraper 就會誤以為數據抓取完了,然后它會自動停止自動保存。

斷網大法簡單粗暴,雖不優雅,但是有效。缺點就是你得在旁邊盯着,關鍵點手動操作,不是很智能。

2.通過數據編號控制條數

2019-10-26 補充:0.4.2 版本的 Web Scraper 改進了抓取方式,這種方法可能會失效

比如說上篇文章的少數派熱門文章爬蟲,container 的 Selector 為 dl.article-card,他會抓取網頁里所有編號為 dl.article-card 的數據。

我們可以在這個 Selector 后加一個 :nth-of-type(-n+100),表示抓取前 100 條數據,前 200 條就為 :nth-of-type(-n+200),1000 條為 :nth-of-type(-n+1000),以此類推。

這樣,我們就可以通過控制數據的編號來控制需要抓取的數據。

抓取鏈接數據時,頁面跳轉怎么辦?

上文抓取數據時,可能會遇到一些問題,比如說抓取標題時,標題本身就是個超鏈接,點擊圈選內容后打開了新的網頁,干擾我們確定圈選的內容,體驗不是很好。

其實 Web scraper 提供了對應的解決方案,那就是通過鍵盤來選擇元素,這樣就不會觸發點擊打開新的網頁的問題了。具體的操作面板如下所示,就是我們點擊 Done Selecting 的那個控制條。

我們把單選按鈕選擇后,會出現 SPC 三個字符,意思分別如下:

S:Select,按下鍵盤的 S 鍵,選擇選中的元素

P:Parent,按下鍵盤的 P 鍵,選擇選中元素的父節點

C:Child,按下鍵盤的 C 鍵,選擇選中元素的子節點

我們分別演示一下,首先是通過 S 鍵選擇標題節點:

我們對比上個動圖,會發現節點選中變紅的同時,並沒有打開新的網頁。

如何抓取選中元素的父節點 or 子節點?

通過 P 鍵和 C 鍵選擇父節點和子節點:

按壓 P 鍵后,我們可以明顯看到我們選擇的區域大了一圈,再按 C 鍵后,選擇區域又小了一圈,這個就是父子選擇器的功能。

這期介紹了 Web Scraper 的兩個使用小技巧,下期我們說說 Web Scraper 如何抓取無限滾動的網頁。

聯系我

因為文章發在各大平台上,賬號較多不能及時回復評論和私信,有問題可關注公眾號 ——「鹵蛋實驗室」,(或 wx 搜索 egglabs)關注上車防失聯。

img

簡易數據分析 08 | Web Scraper 翻頁——點擊「更多按鈕」翻頁


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM