對(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),再安裝吧

啟動(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)目

Sitemap name - 自己取名,小寫字母開頭,一般寫這個(gè)項(xiàng)目是干嘛的
URL - 填寫需要爬取的Link,多個(gè)link可以后面的加號(hào)添加

我這里用的是【豆瓣閱讀潛力榜】的網(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)邏輯

填寫ID,一般是這個(gè)內(nèi)容具體是啥,我比較喜歡叫這一步為【jump_link】,先填進(jìn)去
這一步是需要點(diǎn)擊每本書進(jìn)去進(jìn)一步收集信息的,所以type選link

然后我們來用自帶的選擇框,來確認(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框中,

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

同樣的,【作者】、【簡(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)拿到的信息

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

web scraper還有很多高階功能,它的Selector的type處,也有更多的選擇可以玩,想要了解更多,可以:
- 查看doc,非常清晰 【搜索 doc web scraper】
- 學(xué)習(xí)HTML元素,更系統(tǒng)地學(xué)習(xí)HTML架構(gòu)
- 學(xué)習(xí)正則表達(dá)式,更方便地批量選擇信息