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

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

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

如何只抓取前 100 條數據?

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

若是你手動關閉抓取數據的網頁,就會發現數據所有丟失,一條都沒有保存下來,因此說這種暴力的方式不可取。咱們目前有兩種方式中止 Web Scraper 的抓取。網絡

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

1.斷網大法3d

當你以爲數據抓的差很少了,直接把電腦的網絡斷了。網絡一斷瀏覽器就加載不了數據,Web Scraper 就會誤覺得數據抓取完了,而後它會自動中止自動保存。code

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

2.經過數據編號控制條數blog

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 如何抓取無限滾動的網頁。

聯繫我

由於文章發在各大平臺上,帳號較多不能及時回覆評論和私信,有問題可關注公衆號 ——「鹵代烴實驗室」,關注上車防失聯。

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

原文出處:https://www.cnblogs.com/web-scraper/p/web_scraper_jiqiao.html

相關文章
相關標籤/搜索