學(xué)會(huì)用web scraper批量收集數(shù)據(jù)漆弄,讓你的工作效率高到飛起

在工作中,幾乎每個(gè)崗位都會(huì)涉及到數(shù)據(jù)收集的任務(wù)造锅。收集本地所有裝修公司的名單撼唾,收集某個(gè)APP的所有評(píng)論,收集網(wǎng)上所有與**相關(guān)的文章哥蔚,批量下載某網(wǎng)站的指定文件……

不會(huì)編程倒谷,不懂爬蟲技術(shù)的我,曾經(jīng)遇到這種工作肺素,要么苦逼的CTRL+C,CTRL+V恨锚,要么賠著笑求技術(shù)人員幫忙爬取數(shù)據(jù)脚粟。直到我遇到web scraper這個(gè)神器梅肤,無需編程經(jīng)驗(yàn)掏颊,簡(jiǎn)單幾步設(shè)置后,幾分鐘就能快速收集上千條數(shù)據(jù)柜砾,效率高到飛起蛙紫。

web scraper是一個(gè)谷歌爬蟲插件毒费,使用起來非常簡(jiǎn)單界弧,30分鐘即可完全掌握。web scraper插件會(huì)將數(shù)據(jù)爬取出來生成excel表格办桨,供我們使用筹淫。

那么這款插件到底要怎么用呢?

爬取數(shù)據(jù)的基本流程

step1:下載和安裝web scraper插件呢撞。

下載地址:鏈接: http://pan.baidu.com/s/1qXVbqUg 密碼: t7bm

安裝方法:參考百度經(jīng)驗(yàn)文章http://jingyan.baidu.com/article/da1091fbdf12e9027949d673.html

step2:創(chuàng)建一個(gè)新的數(shù)據(jù)爬取站點(diǎn)损姜。

首先按F12(或者點(diǎn)擊鼠標(biāo)右鍵--檢查)調(diào)出控制臺(tái),點(diǎn)擊“Web Scraper”切換到爬蟲插件功能殊霞,點(diǎn)擊create new sitemap進(jìn)入新的數(shù)據(jù)爬取站點(diǎn)創(chuàng)建頁面摧阅。

sitemap name可以自定義,但一定要是英文绷蹲。start url是我們要爬取的網(wǎng)站網(wǎng)址棒卷,這里我們爬取豆瓣網(wǎng)上上海近一周的同城活動(dòng),將如下鏈接復(fù)制到start url輸入框中祝钢,然后點(diǎn)擊“create sitemap”確定創(chuàng)建比规。https://shanghai.douban.com/events/week-all?start=0

step3:選擇需要提取的頁面元素

上一步創(chuàng)建成功之后,頁面會(huì)跳轉(zhuǎn)到如下界面拦英,這時(shí)我們點(diǎn)擊“add new selector”創(chuàng)建一個(gè)新的選擇器蜒什。

以提取該頁面活動(dòng)標(biāo)題為例,設(shè)置ID為“title”(此處可以自定義疤估,將會(huì)成為excel中的表頭)吃谣,type為“text”。

selector指的是頁面中需要提取的數(shù)據(jù)區(qū)域做裙。點(diǎn)擊select,鼠標(biāo)在網(wǎng)頁上滑動(dòng)肃晚,會(huì)出現(xiàn)綠色區(qū)域锚贱,表示這些區(qū)域的數(shù)據(jù)我們是可以選擇的。

選中一個(gè)活動(dòng)標(biāo)題关串,這個(gè)區(qū)域會(huì)被紅色邊框包圍拧廊,再繼續(xù)選中下一個(gè)活動(dòng)標(biāo)題。當(dāng)選中兩個(gè)相同區(qū)域時(shí)晋修,插件會(huì)自動(dòng)選中該頁面上其他的同類元素吧碾。點(diǎn)擊“Done selecting!”確定選中。

我們可以點(diǎn)擊“Element preview”查看頁面上被選中的所有區(qū)域墓卦,點(diǎn)擊“Data preview”預(yù)覽爬蟲將獲取到的數(shù)據(jù)倦春。

注意:由于我們要選擇這個(gè)頁面上的所有活動(dòng)標(biāo)題,因此需要將”Multiple“復(fù)選框選中。剩下的內(nèi)容可以保持默認(rèn)睁本,點(diǎn)擊”Save selector“保存這個(gè)選擇器尿庐。

到這里,我們就選擇好了需要提取的頁面元素呢堰,如下圖所示抄瑟。

step4:開始爬取數(shù)據(jù)

點(diǎn)擊scrape,進(jìn)入數(shù)據(jù)爬取啟動(dòng)頁面枉疼。

設(shè)置request interval 和page load delay時(shí)間皮假,點(diǎn)擊”Start scraping“開始爬取數(shù)據(jù)。這里的時(shí)間間隔主要是為了避免因操作太頻繁導(dǎo)致爬蟲被屏蔽骂维,無法正常爬取惹资。一般的網(wǎng)站默認(rèn)時(shí)間間隔就可以,有些網(wǎng)站可能需要設(shè)置大一點(diǎn)的時(shí)間間隔席舍。

開始后布轿,會(huì)打開一個(gè)目標(biāo)網(wǎng)址的窗口,爬蟲根據(jù)提取設(shè)置好的規(guī)則一一爬取来颤,當(dāng)爬取完畢后汰扭,窗口會(huì)自動(dòng)關(guān)閉。

step5:下載數(shù)據(jù)

點(diǎn)擊”Export data as CSV“跳轉(zhuǎn)到excel數(shù)據(jù)下載頁面福铅,點(diǎn)擊”download now"即可下載萝毛。

以上五步就是使用web scraper爬取數(shù)據(jù)的全部流程和操作。無論是多復(fù)雜的數(shù)據(jù)滑黔,都可以按照這樣的流程和操作爬取到對(duì)應(yīng)的數(shù)據(jù)笆包。

進(jìn)階操作

1,如何一次性爬取一組數(shù)據(jù)略荡?

剛剛我們僅僅爬取了活動(dòng)主題庵佣,如果我們要同時(shí)爬取活動(dòng)主題和活動(dòng)時(shí)間,應(yīng)該怎么處理呢汛兜?

從上圖中可以看到數(shù)據(jù)的結(jié)構(gòu)巴粪,活動(dòng)主題和活動(dòng)時(shí)間同時(shí)被包含在最外層的方框中,因此在設(shè)置選擇器的時(shí)候粥谬,先創(chuàng)建一個(gè)大的選擇器肛根,讓活動(dòng)主題和活動(dòng)內(nèi)容同時(shí)被包含起來。

注意這里的Type要設(shè)置成“Element”.保存后點(diǎn)擊剛才創(chuàng)建的內(nèi)容(下圖紅框的位置)進(jìn)入子頁漏策。

然后在這個(gè)頁面分別創(chuàng)建標(biāo)題選擇器和時(shí)間選擇器派哲。其類型都是text。現(xiàn)在頁面的可選區(qū)域被局限在了list這個(gè)區(qū)域掺喻,因此你只需要點(diǎn)擊一次活動(dòng)標(biāo)題芭届,確定選中即可储矩。不用勾選“Multiple”。

只有創(chuàng)建一個(gè)element選擇器將活動(dòng)主題和活動(dòng)時(shí)間包含起來喉脖,爬取到的數(shù)據(jù)才會(huì)一一對(duì)應(yīng)的呈現(xiàn)出來椰苟。

2,如何一次性爬取多頁內(nèi)容树叽?

這里根據(jù)分頁形式的不同舆蝴,有不同的解決辦法。

1)固定分頁情況下

可以注意到豆瓣同城活動(dòng)的頁面時(shí)做了分頁的题诵,每頁顯示10條數(shù)據(jù)洁仗。那么如果我們要爬取前10頁的數(shù)據(jù),應(yīng)該怎么做呢性锭?

仔細(xì)觀察赠潦,會(huì)發(fā)現(xiàn)第一頁的網(wǎng)址和第二頁的網(wǎng)址是有區(qū)別的。

第一頁:https://shanghai.douban.com/events/week-all?start=0

第二頁:https://shanghai.douban.com/events/week-all?start=10

start=后面的數(shù)字是差為10的等差數(shù)列草冈。

那么我們?cè)谠O(shè)置數(shù)據(jù)爬取站點(diǎn)的時(shí)候她奥,用[0-100:10]替代具體的數(shù)字,表示數(shù)據(jù)爬取的頁面區(qū)間怎棱。即:https://shanghai.douban.com/events/week-all?start=[0-100:10]

如果網(wǎng)址的等差是1哩俭,例如知乎問題的網(wǎng)址:

第一頁:https://www.zhihu.com/topic/19551325/top-answers?page=1

第二頁:https://www.zhihu.com/topic/19551325/top-answers?page=2

則省略冒號(hào)和后面的等差,只寫頁碼區(qū)間拳恋。如https://www.zhihu.com/topic/19551325/top-answers?page=[1-10]

表示知乎話題第一頁到第十頁凡资。

處理這種數(shù)據(jù)的要點(diǎn)就是觀察不同頁面網(wǎng)址的變化,然后將頁碼區(qū)間寫入網(wǎng)址中谬运。

2)滾動(dòng)鼠標(biāo)自動(dòng)加載

目前很多網(wǎng)站采取了滾動(dòng)到底部后自動(dòng)加載數(shù)據(jù)的方式隙赁,其網(wǎng)址并沒有任何變化。如知乎live主頁的數(shù)據(jù)加載方式梆暖。https://www.zhihu.com/lives/

這時(shí)我們需要在創(chuàng)建element選擇器的時(shí)候伞访,設(shè)置Type為“Element scroll down”。這樣爬蟲工作的時(shí)候會(huì)自動(dòng)執(zhí)行滾動(dòng)操作轰驳,不停的爬取咐扭,直到?jīng)]有可加載的數(shù)據(jù)為止。

3)點(diǎn)擊頁面底部“加載更多”按鈕

在設(shè)置外層element元素的時(shí)候滑废,設(shè)置Type類型為“Element click”,然后點(diǎn)擊“Click selector”的“Select”按鈕選中頁面上的加載更多按鈕或者圖標(biāo)。

為了讓頁面持續(xù)不斷的加載袜爪,設(shè)置“Click type”為“Click more”蠕趁,多次點(diǎn)擊。

接下來設(shè)置停止點(diǎn)擊的條件辛馆,當(dāng)這個(gè)區(qū)域的文本內(nèi)容或者HTML結(jié)構(gòu)或者顯示樣式發(fā)生改變時(shí)俺陋,不再點(diǎn)擊豁延。

比如說當(dāng)加載完畢之后,“加載更多”按鈕文字改變?yōu)椤耙鸭虞d完畢”腊状,那么這里選擇Unique Text;如果加載到最后诱咏,這個(gè)按鈕顏色變灰,就選擇Unique CSS Selector缴挖。

3袋狞,如何批量爬取并下載圖片?

設(shè)置Type為image映屋,插件將爬取到所有圖片的鏈接苟鸯。下載圖片有兩種方式,一種是直接勾選Download image棚点,這樣爬蟲在爬取的時(shí)候就會(huì)自動(dòng)下載早处。或者在爬取到所有圖片鏈接后瘫析,使用批量下載工具直接下載砌梆。

4,如何爬取網(wǎng)頁鏈接贬循?

設(shè)置Type為L(zhǎng)ink,爬蟲將爬取到該元素上的超鏈接咸包。

如圖所示:當(dāng)Type為text時(shí),爬取到的數(shù)據(jù)是立陶宛安吉利卡·喬麗娜舞團(tuán) 舞劇《安娜·卡列尼娜》 Anzelika Cholina Dance Theatre′s Anna Karenina

當(dāng)Type為L(zhǎng)ink時(shí)甘有,爬取到的數(shù)據(jù)是:https://www.douban.com/event/28303813/诉儒,也就是點(diǎn)擊下圖紅框中內(nèi)容跳轉(zhuǎn)的頁面鏈接。

當(dāng)你需要爬取的鏈接是一個(gè)下載文件的鏈接亏掀,比如說類似下圖中“公告下載”按鈕的鏈接忱反。你可以設(shè)置Type為Popup Link,這樣在爬取數(shù)據(jù)的過程中就會(huì)自動(dòng)下載文件了滤愕。

5温算,如何爬取二級(jí)頁面或三級(jí)頁面的內(nèi)容?

首先在根目錄下創(chuàng)建一個(gè)選擇器间影,這個(gè)選擇器選擇的內(nèi)容是可以點(diǎn)進(jìn)二級(jí)頁面的區(qū)域注竿,如果該區(qū)域有超鏈接,則設(shè)置Type為L(zhǎng)ink魂贬,否則設(shè)置為Element click巩割;然后在這個(gè)選擇器里面創(chuàng)建選擇器,選擇需要爬取的區(qū)域即可付燥。這個(gè)可以一級(jí)一級(jí)的嵌套下去宣谈。

怎么判斷一個(gè)區(qū)域是否有超鏈接?鼠標(biāo)放在該區(qū)域键科,右鍵單擊闻丑,如果有“在……中打開鏈接”的選項(xiàng)漩怎,則這個(gè)區(qū)域有超鏈接,設(shè)置Type為L(zhǎng)ink嗦嗡。

通過以上的設(shè)置勋锤,我們可以利用谷歌插件爬取80%的網(wǎng)站數(shù)據(jù),獲取到本地excel文件侥祭,進(jìn)而對(duì)數(shù)據(jù)進(jìn)行處理和分析叁执。


以上的技能除了可以用于工作,還可以應(yīng)用到生活中查詢資訊的時(shí)候卑硫。

很多時(shí)候網(wǎng)站的設(shè)計(jì)存在一定問題徒恋,為我們獲取資訊帶來一定困難。

比如知乎live的網(wǎng)頁欢伏,點(diǎn)進(jìn)去一個(gè)live詳情再退回來的時(shí)候入挣,頁面會(huì)回到頂部,需要你重新滾動(dòng)加載硝拧;https://www.zhihu.com/lives/

比如互動(dòng)吧的活動(dòng)列表頁径筏,沒有對(duì)活動(dòng)狀態(tài)的分類,正在進(jìn)行中的活動(dòng)一般是參與不了的障陶,但是篩選不出去滋恬。http://www.hdb.com/shanghai/0-0-2-0-1/

這時(shí)候如果你用web scraper工具的話,就可以將數(shù)據(jù)爬取到本地抱究,然后按照自己的需求進(jìn)行快速篩選了恢氯。

熟練掌握這個(gè)插件后,真的能提高工作效率鼓寺,減少麻煩嗎勋拟?

提高工作效率是一定的,但減少麻煩就不見得了妈候。畢竟我因?yàn)橄掳嗵绺颐遥焕习逭f了~嗚嗚嗚

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市苦银,隨后出現(xiàn)的幾起案子啸胧,更是在濱河造成了極大的恐慌,老刑警劉巖幔虏,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件纺念,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡想括,警方通過查閱死者的電腦和手機(jī)陷谱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來主胧,“玉大人叭首,你說我怎么就攤上這事∽俣埃” “怎么了焙格?”我有些...
    開封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)夷都。 經(jīng)常有香客問我眷唉,道長(zhǎng),這世上最難降的妖魔是什么囤官? 我笑而不...
    開封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任冬阳,我火速辦了婚禮,結(jié)果婚禮上党饮,老公的妹妹穿的比我還像新娘肝陪。我一直安慰自己,他們只是感情好刑顺,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開白布氯窍。 她就那樣靜靜地躺著,像睡著了一般蹲堂。 火紅的嫁衣襯著肌膚如雪狼讨。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天柒竞,我揣著相機(jī)與錄音政供,去河邊找鬼。 笑死朽基,一個(gè)胖子當(dāng)著我的面吹牛布隔,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播踩晶,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼执泰,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了渡蜻?” 一聲冷哼從身側(cè)響起术吝,我...
    開封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎茸苇,沒想到半個(gè)月后排苍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡学密,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年淘衙,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片腻暮。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡彤守,死狀恐怖毯侦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情具垫,我是刑警寧澤侈离,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站筝蚕,受9級(jí)特大地震影響卦碾,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜起宽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一洲胖、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧坯沪,春花似錦绿映、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至赴魁,卻和暖如春卸奉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背颖御。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工榄棵, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人潘拱。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓疹鳄,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親芦岂。 傳聞我的和親對(duì)象是個(gè)殘疾皇子瘪弓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,504評(píng)論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)禽最,斷路器腺怯,智...
    卡卡羅2017閱讀 134,599評(píng)論 18 139
  • 1 前言 作為一名合格的數(shù)據(jù)分析師,其完整的技術(shù)知識(shí)體系必須貫穿數(shù)據(jù)獲取川无、數(shù)據(jù)存儲(chǔ)呛占、數(shù)據(jù)提取、數(shù)據(jù)分析懦趋、數(shù)據(jù)挖掘晾虑、...
    whenif閱讀 18,052評(píng)論 45 523
  • 社會(huì)發(fā)展,競(jìng)爭(zhēng)激烈。 分工愈細(xì)帜篇,愈求專業(yè)糙捺。 一技無長(zhǎng),立足甚難笙隙。 畢業(yè)三年继找,四處飄零。 偶入此行逃沿,自感天意。 移動(dòng)...
    筆尖上的王者閱讀 779評(píng)論 0 0
  • 關(guān)注全球媽媽育兒指南 每天分享全球媽媽育兒干貨 從坐、爬行再到走路哄尔,這是一個(gè)神奇而令人興奮的過程假消。那么我們應(yīng)該怎么...
    全球媽媽育兒指南閱讀 420評(píng)論 0 0