Web Scraper——輕量數(shù)據(jù)爬取利器

image

日常學(xué)習(xí)工作中,我們多多少少都會(huì)遇到一些數(shù)據(jù)爬取的需求娩梨,比如說(shuō)寫(xiě)論文時(shí)要收集相關(guān)課題下的論文列表,運(yùn)營(yíng)活動(dòng)時(shí)收集用戶評(píng)價(jià)览徒,競(jìng)品分析時(shí)收集友商數(shù)據(jù)狈定。

當(dāng)我們著手準(zhǔn)備收集數(shù)據(jù)時(shí),面對(duì)低效的復(fù)制黏貼工作习蓬,一般都會(huì)萌生一個(gè)想法:我要是會(huì)爬蟲(chóng)就好了纽什,分分鐘就把數(shù)據(jù)爬取下來(lái)了《愕穑可是當(dāng)我們搜索相關(guān)教程時(shí)芦缰,往往會(huì)被高昂的學(xué)習(xí)成本所勸退。拿現(xiàn)在最通用的 python 爬蟲(chóng)來(lái)說(shuō)枫慷,對(duì)于小白來(lái)說(shuō)往往要跨過(guò)下面幾座大山:

image
  • 學(xué)習(xí)一門編程語(yǔ)言:python
  • 學(xué)習(xí)網(wǎng)頁(yè)的基礎(chǔ)構(gòu)成——HTML 標(biāo)簽和 CSS 選擇器让蕾,有時(shí)候還要了解一些 JavaScript
  • 學(xué)習(xí)網(wǎng)絡(luò)通信的基礎(chǔ)協(xié)議——HTTP 協(xié)議
  • 學(xué)習(xí) python 中常見(jiàn)的爬蟲(chóng)框架解析庫(kù)
  • ......

上面的知識(shí)點(diǎn),沒(méi)有幾個(gè)月是掌握不完的或听。而且對(duì)于非強(qiáng)需求的人來(lái)說(shuō)探孝,這么多的知識(shí)點(diǎn),你還會(huì)時(shí)時(shí)刻刻和遺忘做斗爭(zhēng)誉裆。

那么有沒(méi)有不學(xué) python 也能爬取數(shù)據(jù)的利器呢顿颅?結(jié)合文章標(biāo)題,我想你已經(jīng)知道我要安利什么了足丢。今天我要推薦的就是Web Scraper粱腻,一個(gè)輕量的數(shù)據(jù)爬蟲(chóng)利器。

image

Web Scraper 的優(yōu)點(diǎn)就是對(duì)新手友好斩跌,在最初抓取數(shù)據(jù)時(shí)绍些,把底層的編程知識(shí)和網(wǎng)頁(yè)知識(shí)都屏蔽了,可以非程鲜唬快的入門遇革,只需要鼠標(biāo)點(diǎn)選幾下卿闹,幾分鐘就可以搭建一個(gè)自定義的爬蟲(chóng)揭糕。

我在過(guò)去的半年里萝快,寫(xiě)了很多篇關(guān)于 Web Scraper 的教程,本文類似于一篇導(dǎo)航文章著角,把爬蟲(chóng)的注意要點(diǎn)和我的教程連接起來(lái)揪漩。最快一個(gè)小時(shí),最多一個(gè)下午吏口,就可以掌握 Web Scraper 的使用奄容,輕松應(yīng)對(duì)日常生活中的數(shù)據(jù)爬取需求

插件安裝

Web Scraper 作為一個(gè) Chrome 插件产徊,網(wǎng)絡(luò)條件良好的用戶可以直接上chrome 網(wǎng)上應(yīng)用店安裝昂勒,不太好的用戶可以下載插件安裝包手動(dòng)安裝,具體的安裝流程可以看我的教程:Web Scraper 的下載與安裝舟铜。

常見(jiàn)網(wǎng)頁(yè)的類型

結(jié)合我的數(shù)據(jù)爬取經(jīng)驗(yàn)和讀者反饋戈盈,我一般把網(wǎng)頁(yè)分為三大類型:單頁(yè)分頁(yè)列表篩選表單谆刨。

image

1.單頁(yè)

單頁(yè)是最常見(jiàn)的網(wǎng)頁(yè)類型塘娶。

我們?nèi)粘i喿x的文章,推文的詳情頁(yè)都可以歸于這種類型痊夭。作為網(wǎng)頁(yè)里最簡(jiǎn)單最常見(jiàn)的類型刁岸,Web Scraper 教程里第一篇爬蟲(chóng)實(shí)戰(zhàn)就拿豆瓣電影作為案例,入門 Web Scraper 的基礎(chǔ)使用她我。

2.分頁(yè)列表

分頁(yè)列表也是非常常見(jiàn)的網(wǎng)頁(yè)類型虹曙。

互聯(lián)網(wǎng)的資源可以說(shuō)是無(wú)限的,當(dāng)我們?cè)L問(wèn)一個(gè)網(wǎng)站時(shí)番舆,不可能一次性把所有的資源都加載到瀏覽器里「酰現(xiàn)在的主流做法是先加載一部分?jǐn)?shù)據(jù),隨著用戶的交互操作(滾動(dòng)合蔽、篩選击敌、分頁(yè))才會(huì)加載下一部分?jǐn)?shù)據(jù)。

教程里我費(fèi)了較大的筆墨去講解 Web Scraper 如何爬取不同分頁(yè)類型網(wǎng)站的數(shù)據(jù)拴事,因?yàn)閮?nèi)容較多沃斤,我放在本文的下一節(jié)詳細(xì)介紹。

3.篩選表單

表單類型的網(wǎng)頁(yè)在 PC 網(wǎng)站上比較常見(jiàn)刃宵。

這種網(wǎng)頁(yè)的最大特點(diǎn)就是有很多篩選項(xiàng)衡瓶,不同的選擇會(huì)加載不同的數(shù)據(jù),組合多變牲证,交互較為復(fù)雜哮针。比如說(shuō)淘寶的購(gòu)物篩選頁(yè)。

image

比較遺憾的是,Web Scraper 對(duì)復(fù)雜篩選頁(yè)的支持不是很好十厢,如果篩選條件可以反映在 URL 鏈接上就可以爬取相關(guān)數(shù)據(jù)等太,如果不能就無(wú)法爬取篩選后的數(shù)據(jù)。

常見(jiàn)的分頁(yè)類型

分頁(yè)列表是很常見(jiàn)的網(wǎng)頁(yè)類型蛮放。根據(jù)加載新數(shù)據(jù)時(shí)的交互缩抡,我把分頁(yè)列表分為 3 大類型:滾動(dòng)加載分頁(yè)器加載和點(diǎn)擊下一頁(yè)加載包颁。

image

1.滾動(dòng)加載

image

我們?cè)谒⑴笥讶λ⑽⒉┑臅r(shí)候瞻想,總會(huì)強(qiáng)調(diào)一個(gè)『』字,因?yàn)榭磩?dòng)態(tài)的時(shí)候娩嚼,當(dāng)把內(nèi)容拉到屏幕末尾的時(shí)候蘑险,APP 就會(huì)自動(dòng)加載下一頁(yè)的數(shù)據(jù),從體驗(yàn)上來(lái)看岳悟,數(shù)據(jù)會(huì)源源不斷的加載出來(lái)漠其,永遠(yuǎn)沒(méi)有盡頭。

Web Scraper 有一個(gè)選擇器類型叫 Element scroll down竿音,意如其名和屎,就是滾動(dòng)到底部加載的意思。利用這個(gè)選擇器春瞬,就可以抓取滾動(dòng)加載類型的網(wǎng)頁(yè)柴信,具體的操作可以見(jiàn)教程:Web Scraper 抓取「滾動(dòng)加載」類型網(wǎng)頁(yè)

2.分頁(yè)器加載

image

分頁(yè)器加載數(shù)據(jù)的網(wǎng)頁(yè)在 PC 網(wǎng)頁(yè)上非常常見(jiàn)宽气,點(diǎn)擊相關(guān)頁(yè)碼就能跳轉(zhuǎn)到對(duì)應(yīng)網(wǎng)頁(yè)随常。

Web Scraper 也可以爬取這種類型的網(wǎng)頁(yè)。相關(guān)的教程可見(jiàn): Web Scraper 控制鏈接分頁(yè)萄涯、Web Scraper 抓取分頁(yè)器類型網(wǎng)頁(yè)Web Scraper 利用 Link 選擇器翻頁(yè)绪氛。

3.點(diǎn)擊下一頁(yè)加載

點(diǎn)擊下一頁(yè)按鈕加載數(shù)據(jù)其實(shí)可以算分頁(yè)器加載的一種,相當(dāng)于把分頁(yè)器中的「下一頁(yè)」按鈕單獨(dú)拿出來(lái)自成一派涝影。

這種網(wǎng)頁(yè)需要我們手動(dòng)點(diǎn)擊加載按鈕來(lái)加載新的數(shù)據(jù)枣察。Web Scraper 可以 Element click 選擇器抓取這種分頁(yè)網(wǎng)頁(yè),相關(guān)教程可見(jiàn):Web Scraper 點(diǎn)擊「下一頁(yè)」按鈕翻頁(yè)燃逻。

進(jìn)階使用

學(xué)習(xí)了上面列出的幾篇教程序目,Web Scraper 這個(gè)插件 60% 的功能基本上就掌握了。下面是一些進(jìn)階內(nèi)容伯襟,掌握了可以更高效的抓取數(shù)據(jù)猿涨。

1.列表頁(yè) + 詳情頁(yè)

image

互聯(lián)網(wǎng)資訊最常見(jiàn)的架構(gòu)就是「列表頁(yè) + 詳情頁(yè)」的組合結(jié)構(gòu)了。

列表頁(yè)是內(nèi)容的標(biāo)題和摘要姆怪,詳情頁(yè)是詳細(xì)說(shuō)明叛赚。有時(shí)候我們需要同時(shí)抓取列表頁(yè)和詳情頁(yè)的數(shù)據(jù)澡绩,Web Scraper 也支持這種常見(jiàn)的需求。我們可以利用 Web Scraper 的 Link 選擇器來(lái)抓取這種組合網(wǎng)頁(yè)俺附,具體操作可以看教程:Web Scraper 抓取二級(jí)網(wǎng)面肥卡。

2.HTML 標(biāo)簽與 CSS 選擇器

image

我在前面說(shuō)了 Web Scraper 屏蔽了一些網(wǎng)頁(yè)知識(shí),比如說(shuō) HTML 和 CSS 的一些內(nèi)容昙读,只需要簡(jiǎn)單的鼠標(biāo)點(diǎn)選就可以搭建一個(gè)自定義爬蟲(chóng)召调。但是如果我們花半個(gè)小時(shí)了解一些基礎(chǔ)的 HTML 和 CSS 知識(shí)膨桥,其實(shí)可以更好的使用 Web Scraper蛮浑。所以我專門寫(xiě)了一篇介紹 CSS 選擇器的文章,十分鐘讀下來(lái)可以上手自定義 CSS 選擇器只嚣。

3.正則表達(dá)式的使用

image

Web Scraper 其實(shí)是一款專注于文本爬取的爬蟲(chóng)工具沮稚。如果你日常工作中經(jīng)常和文本打交道,或者使用過(guò)一些效率工具册舞,那你一定聽(tīng)說(shuō)過(guò)正則表達(dá)式蕴掏。沒(méi)錯(cuò),Web Scraper 也支持基礎(chǔ)的正則表達(dá)式调鲸,用來(lái)篩選和過(guò)濾爬取的文本盛杰,我也寫(xiě)了一篇文章介紹正則表達(dá)式,如果爬取過(guò)程中使用它藐石,可以節(jié)省不少數(shù)據(jù)清洗的時(shí)間即供。

4.Sitemap 的導(dǎo)入和導(dǎo)出

SItemap 是個(gè)什么東西?其實(shí)它就是我們操作 Web Scraper 后生成的配置文件于微,相當(dāng)于 python 爬蟲(chóng)的源代碼逗嫡。我們可以通過(guò)分享 Sitemap 來(lái)分享我們制作的爬蟲(chóng),相關(guān)操作我也寫(xiě)了教程:Web Scraper 導(dǎo)入導(dǎo)出爬蟲(chóng)配置株依。

5.換一個(gè)存儲(chǔ)數(shù)據(jù)庫(kù)

image

Web Scraper 導(dǎo)出數(shù)據(jù)時(shí)有一個(gè)缺點(diǎn)驱证,默認(rèn)使用瀏覽器的 localStorage 存儲(chǔ)數(shù)據(jù),導(dǎo)致存儲(chǔ)的數(shù)據(jù)是亂序的恋腕。這種情況可以通過(guò) Excel 等軟件進(jìn)行排序抹锄,也可以通過(guò)換一個(gè)數(shù)據(jù)存儲(chǔ)庫(kù)的方式來(lái)解決。

Web Scraper 支持 CouchDB 數(shù)據(jù)庫(kù)荠藤,配置成功后導(dǎo)出的數(shù)據(jù)就是正序了祈远。相關(guān)的配置過(guò)程可以看我寫(xiě)的教程:Web Scraper 使用 CouchDB

Web Scraper 的優(yōu)點(diǎn)

  • 輕量:非常的輕量商源。上手只需要一個(gè) Chrome 瀏覽器和一個(gè) Web Scraper 插件车份。對(duì)于一些限制安裝第三方軟件的公司電腦,可以很輕易的突破這層限制
  • 提效:Web Scraper 支持絕大多數(shù)的網(wǎng)頁(yè)的爬取牡彻,可以無(wú)侵入的加入你的日常工作流中
  • :抓取速度取決于你的網(wǎng)速與瀏覽器加載速度扫沼,其他的數(shù)據(jù)采集軟件可能有限速現(xiàn)象(充錢就能不限速)

Web Scraper 的缺點(diǎn)

  • 只支持文本數(shù)據(jù)抓取:圖片短視頻等多媒體數(shù)據(jù)無(wú)法批量抓取
  • 不支持范圍抓取:例如一個(gè)網(wǎng)頁(yè)有 1000 條數(shù)據(jù)出爹,默認(rèn)是全量抓取的,無(wú)法配置抓取范圍缎除。想停止抓取严就,只能斷網(wǎng)模擬數(shù)據(jù)加載完畢的情況
  • 不支持復(fù)雜網(wǎng)頁(yè)抓取:對(duì)于那些加了復(fù)雜交互、酷炫的特效和反人類的反爬蟲(chóng)網(wǎng)頁(yè)器罐,Web Scraper 無(wú)能為力(其實(shí)這種網(wǎng)頁(yè)寫(xiě) python 爬蟲(chóng)也挺頭疼)
  • 導(dǎo)出數(shù)據(jù)亂序:想讓數(shù)據(jù)正序就得用 Excel 或者用 CouchDB梢为,相對(duì)復(fù)雜了一些

總結(jié)

掌握了 Web Scraper 的使用,基本上可以應(yīng)付學(xué)習(xí)工作中 90% 的數(shù)據(jù)爬取需求轰坊。相對(duì)于 python 爬蟲(chóng)铸董,雖然靈活度上受到了限制,但是低廉的學(xué)習(xí)成本可以大大節(jié)省學(xué)習(xí)時(shí)間肴沫,快速解決手頭的工作粟害,提高整體的工作效率。綜合來(lái)看颤芬,Web Scraper 還是非常值得去學(xué)習(xí)的悲幅。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市站蝠,隨后出現(xiàn)的幾起案子汰具,更是在濱河造成了極大的恐慌,老刑警劉巖菱魔,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件留荔,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡豌习,警方通過(guò)查閱死者的電腦和手機(jī)存谎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)肥隆,“玉大人既荚,你說(shuō)我怎么就攤上這事《把蓿” “怎么了恰聘?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)吸占。 經(jīng)常有香客問(wèn)我晴叨,道長(zhǎng),這世上最難降的妖魔是什么矾屯? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任兼蕊,我火速辦了婚禮,結(jié)果婚禮上件蚕,老公的妹妹穿的比我還像新娘孙技。我一直安慰自己产禾,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布牵啦。 她就那樣靜靜地躺著亚情,像睡著了一般。 火紅的嫁衣襯著肌膚如雪哈雏。 梳的紋絲不亂的頭發(fā)上楞件,一...
    開(kāi)封第一講書(shū)人閱讀 52,156評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音裳瘪,去河邊找鬼土浸。 笑死,一個(gè)胖子當(dāng)著我的面吹牛盹愚,可吹牛的內(nèi)容都是我干的栅迄。 我是一名探鬼主播站故,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼皆怕,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了西篓?” 一聲冷哼從身側(cè)響起愈腾,我...
    開(kāi)封第一講書(shū)人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎岂津,沒(méi)想到半個(gè)月后虱黄,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡吮成,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年橱乱,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片粱甫。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡泳叠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出茶宵,到底是詐尸還是另有隱情危纫,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布乌庶,位于F島的核電站种蝶,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏瞒大。R本人自食惡果不足惜螃征,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望透敌。 院中可真熱鬧盯滚,春花似錦锅棕、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至泼疑,卻和暖如春德绿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背退渗。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工移稳, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人会油。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓个粱,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親翻翩。 傳聞我的和親對(duì)象是個(gè)殘疾皇子都许,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359