【How To】web scraper - 輕量數(shù)據(jù)爬取

對(duì)小白來說,如果有【需要爬取網(wǎng)站內(nèi)同類頁(yè)面固定位置的信息】的需求,比如說:

- 各類排行榜信息(豆瓣/IMDB/……)

- 新聞網(wǎng)站今日要聞

- 批量收集XXXXX信息

web scraper則會(huì)是最簡(jiǎn)單最適合小白的解決方案,通過總結(jié)網(wǎng)頁(yè)結(jié)構(gòu)的規(guī)律,可以達(dá)到事半功倍的效果。本篇文章是站在非常小白的角度來寫的,如果需要更多專業(yè)詞匯的文章,請(qǐng)參考官方doc。

研究了一下工作原理,網(wǎng)站通常都是由列表頁(yè)+詳情頁(yè)組成,web scraper就是告訴插件,我需要【網(wǎng)頁(yè)list】(列表頁(yè))中的【ABCDEFG網(wǎng)頁(yè)】(詳情頁(yè))【信息1】、【信息2】、【信息3】……【信息N】,能夠講清楚跳轉(zhuǎn)邏輯和抓取邏輯就行了

拿【豆瓣閱讀潛力榜】做了個(gè)測(cè)試,我想要【潛力榜】(列表頁(yè))中的【每一本書】(詳情頁(yè))的【書名】、【作者】、【簡(jiǎn)介】、【字?jǐn)?shù)】、【閱讀數(shù)】、【加入書架數(shù)】、【標(biāo)簽】,就有了以下操作過程:


Step0:下載并啟動(dòng)Web Scraper

下載這個(gè)事情,通過chrome應(yīng)用下載吧。

如果沒辦法直接下載,找到【crxdl】這個(gè)插件庫(kù),搜索【web scraper】,找到這個(gè)蜘蛛網(wǎng)圖標(biāo),再安裝吧

Web Scraper圖標(biāo)


啟動(dòng)Web Scraper很簡(jiǎn)單,按F12,或者網(wǎng)頁(yè)右擊,檢查,在導(dǎo)航欄的最郵編,有【web scraper】出現(xiàn),則表示啟動(dòng)成功


Step1:創(chuàng)建項(xiàng)目

點(diǎn)擊【Create new sitemap】,在web scraper中建立一個(gè)爬蟲項(xiàng)目

創(chuàng)建項(xiàng)目


Sitemap name - 自己取名,小寫字母開頭,一般寫這個(gè)項(xiàng)目是干嘛的

URL - 填寫需要爬取的Link,多個(gè)link可以后面的加號(hào)添加

填寫name及url,url可添加多個(gè)


我這里用的是【豆瓣閱讀潛力榜】的網(wǎng)站link,填進(jìn)去就好,


Step2:配置列表頁(yè)抓取邏輯

創(chuàng)建好【sitemap】后會(huì)自動(dòng)跳入本項(xiàng)目的.root中,我們需要在這里加入排好的跳轉(zhuǎn)邏輯,告訴網(wǎng)頁(yè)找完這一頁(yè)后需要跳轉(zhuǎn)

查看從【潛力榜】到每一本書頁(yè)面的跳轉(zhuǎn)邏輯,發(fā)現(xiàn)是點(diǎn)擊【每個(gè)書的block】,網(wǎng)頁(yè)會(huì)跳轉(zhuǎn)到書籍詳細(xì)頁(yè)面,點(diǎn)擊【Add New Selector】創(chuàng)建這個(gè)跳轉(zhuǎn)邏輯

添加selector


填寫ID,一般是這個(gè)內(nèi)容具體是啥,我比較喜歡叫這一步為【jump_link】,先填進(jìn)去

這一步是需要點(diǎn)擊每本書進(jìn)去進(jìn)一步收集信息的,所以type選link

按照順序1-6來操作


然后我們來用自帶的選擇框,來確認(rèn)【每本書的block】的規(guī)律,點(diǎn)擊多個(gè)書名后,系統(tǒng)會(huì)用紅框選中,然后在selecting框中顯示我們選中內(nèi)容的規(guī)律,點(diǎn)擊done即可自動(dòng)填寫到【selector】中

由于這一步是這一本書搜完還要搜集下一本書的內(nèi)容,所以我們需要多個(gè)跳轉(zhuǎn)的,要勾選【Multiple】,并且將【parent selector】選擇到.root,即我們一開始的就會(huì)先進(jìn)入到這個(gè)頁(yè)面,做這個(gè)操作


Step3:配置詳情頁(yè)抓取邏輯

接下來,我們就需要看跳轉(zhuǎn)網(wǎng)頁(yè)后,我們需要的信息如何抓取了

首先,我們需要【書名】,點(diǎn)擊【Add new selector】,創(chuàng)建一個(gè)針對(duì)書名的抓取器

ID老規(guī)矩,寫清楚防止以后忘了,我這一步就叫【book_name】,

這次我們抓取的是書名這個(gè)字段即可,type選擇text

由于書名在每一頁(yè)上是唯一的,不太好利用多次點(diǎn)擊同類再讓插件幫我們找規(guī)律,我比較推薦用chrome選擇小工具,幫我們找到對(duì)應(yīng)的selector。點(diǎn)擊當(dāng)前頁(yè)面的選擇工具,點(diǎn)擊點(diǎn)到書名上,在element元素這里已經(jīng)標(biāo)注處當(dāng)前字段的情況,選中這一段,右擊,復(fù)制,復(fù)制selector,把這個(gè)內(nèi)容,粘貼回selector框中,

chrome自帶的元素選擇工具


因?yàn)檫@一步是從上一頁(yè)中,通過點(diǎn)擊對(duì)應(yīng)數(shù)目的block跳轉(zhuǎn)過來的,所以parent selector選擇回剛才創(chuàng)建的【jump_link】

點(diǎn)擊【Save Selector】

注意parent selectors的選擇


同樣的,【作者】、【簡(jiǎn)介】、【字?jǐn)?shù)】、【閱讀數(shù)】、【加入書架數(shù)】、【標(biāo)簽】也是這樣找到selector,并且與jump link聯(lián)系起來,這樣,一個(gè)簡(jiǎn)單的爬蟲小工具就設(shè)置好了。


Step4: 測(cè)試爬蟲使用情況

設(shè)置好細(xì)節(jié)后,我們可以來測(cè)試爬蟲是否能用了,

點(diǎn)擊【sitemap 項(xiàng)目名】后,選擇Scrape,填寫完interval和delay后**,**瀏覽器會(huì)自動(dòng)開始爬取并跳轉(zhuǎn)

開始爬取


點(diǎn)擊【refresh】后,可以看到當(dāng)前已經(jīng)拿到的信息

實(shí)時(shí)查看爬取到的信息


在所有信息爬取完后,點(diǎn)擊【export data】就可以導(dǎo)出csx或者xlsx格式的數(shù)據(jù)了

導(dǎo)出數(shù)據(jù)


web scraper還有很多高階功能,它的Selector的type處,也有更多的選擇可以玩,想要了解更多,可以:

- 查看doc,非常清晰 【搜索 doc web scraper】

- 學(xué)習(xí)HTML元素,更系統(tǒng)地學(xué)習(xí)HTML架構(gòu)

- 學(xué)習(xí)正則表達(dá)式,更方便地批量選擇信息

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容