Web Scraper簡單配置方法

王平發表於2018-12-12

上一節主要介紹了怎樣安裝Web Scraper和它的優缺點。這篇老猿來說下Web Scraper的工作原理和配置方法。

還不太瞭解Web Scraper是什麼的先看看上一篇,Web Scraper教程

Web Scraper是一個Chrome瀏覽器外掛程式,它是執行在Chrome瀏覽器上的並且只能在Chrome瀏覽器上管理和配置。就像以前我們搶火車票安裝的瀏覽器外掛一樣。

如何開啟Web Scraper

上一篇我們講了如何安裝,那麼怎樣開啟Web Scraper呢
Web Scraper的操作介面在Chrome瀏覽器的開發者工具裡,開啟開發者工具的方法是:windows和linux作業系統下同時按 Ctrl+Shift+I 或者 fn + f12 ;mac 作業系統下 按 Cmd + Opt + I 就可以開啟。
你也可以在Chrome瀏覽器的選項裡 找到 工具—>開發者工具 開啟。 只是使用快捷鍵要快速一點。

開啟開發者工具後,滑鼠點選下圖示紅的 Web Scraper,點選後就進入到了Web Scraper操作介面。

開啟web-scraper

上圖你會看見 “Sitemaps”,”Sitemap”,”Create new sitemap”三個選項。

sitemap 是什麼意思
你要抓取網站資料,就要制定一個抓取規則,比如是抓標題?圖片?正文內容?要抓多少頁?這些你都要按照Web Scraper的要求配置成規則,你可以理解為一個sitemap就是一個完整的抓取規則。一個完整的sitemap規則至少由三部分組成,一個Start URL,一個Link Selector和一個Text Selector。

Start URL是抓取的入口連結,Link Selector是抽取頁面連結的規則,Text Selector是抽取文字資訊的規則。

這時你看到上圖的介面都是空的,因為還沒有建立配置sitemap(即規則)。現在我們就來建立一個sitemap,先跟著步驟做一遍,有個初步認識。

Web Scraper Sitemap配置步驟

我們先配置起一個簡單的sitemap,讓它抓起來,先直觀感受一下,看官親們可以跟著操作起來。我們拿抓時光網電影熱度舉例,我們的目標是要把時光熱度中第一頁裡的電影連結和劇情介紹,編劇資訊抓下來。(圖1標紅的是電影連結,圖2標紅的是編劇和劇情等資訊)。

圖一是時光網電影熱度列表頁,點選電影名稱後,會進入電影介紹詳情頁,就是圖二所示。

web scraper抓時光網電影熱度排名

圖一

web scraper抓時光網電影詳情頁

圖二

 

步驟1:點選第三個Create new sitemap選擇Create Sitemap。出現如下介面。

時光網web scraper的sitemap寫法

步驟2:在Sitemap name裡填寫一個名字,你隨便起(只能是小寫字母和數字),比如要抓取時光電影熱度,就填寫 mtime-hot。(不能少於3個字母)
Start URL就是要抓取的入口URL,我們要抓的是時光網熱度榜首頁,所以這裡填時光網熱度榜首頁URL。點選下面的Create sitemap按鈕。這裡就把Start URL建立好了。

步驟3:此時你進入到了如下介面。

進入到selector介面

這時就要配置Link selector(選擇器)的規則了,就是我們要把首頁那些電影的連結(也就是URL)提取出來。點選下面的Add new selector按鈕開始配置Selector。

 

步驟4:在出現的介面裡,按照標紅的順序依次填入和點選。

web scraper填寫link selector的操作步驟

註解上圖:
紅1:id 隨便填,最好是表明意義就好。
紅2:Tyep是選擇selector的型別,是配置中比較關鍵的,在下拉框中選擇 Link,Link就是連結url的意思,裡面還有Text是文字資訊的意思, 因為我們這是要提取電影的連結地址,所以就選Link。
紅3:點選 Select 。後面再解釋。
紅4:點選第三步Select後,用滑鼠點選 4 標紅出的 文字,再接著點選5和6標紅的文字。
紅7:完成紅4-6後,點選 Done Selecting!
然後把紅3下面的Multiple勾選一下,不勾選就只會抓一個連結,而我們想要抓的是一批連結。

紅9:這時你可以點選紅9的Data preview來檢查是否正確,正確的話,會顯示一個表格,裡面是一行行連結地址。
紅10:完成上面步驟後,點選Save selector
這時抓取電影連結的Link selector就配置好了。接下來就要配置抓電影正文的Text selector了。

要抓取電影詳情頁裡的劇情,編劇資訊,當然要點選進入電影詳情的網頁裡配置,點選如下標紅的標題就會進入電影詳情頁

movie-title

 

這裡還有個小問題要解決一下,你點選上面的標題,會在一個新的tab頁面裡開啟,在新的頁面裡之前的web scraper介面就看不到了。如果你很熟悉web scraper了,就可以直接從開發者工具裡把它再調出來。

如果不想這樣操作的話,有一個小技巧可以不新開tab開啟網頁,而是在當前頁面開啟。

就是滑鼠右擊上面的標紅標題,選擇檢查,然後把target=”blank”去掉,如下圖:

click-title

 

去掉target blank

完成去掉target blank

這樣再點選那個標題就不會開啟新頁面了。好了,回到正題,此時你應該已經進入了電影詳情頁,如下圖:

print-now

這時就該配置Text Selector了,點選上面標紅的movie-links,一定要點選啊,然後進入到新的add new selector介面,再點選Add new selector。

new-add-selector

步驟6:完成了步驟後,你應該進入到如下selector介面,如下圖:

 

text selector 介面

 

在上圖中ID 也是隨便填,有意義就好,比如是抽取導演,就寫個diretor。

Type就選Text,因為這是在提取文字資訊了,所以選Text。

點選Selector那行的select後,用滑鼠選中導演那裡的文字,然後點選Done selecting,然後再點選save selector,我們的抽取導演資訊的Text selector也就配置好了。

text selector example

我們再點選上圖的add new selector按鈕,再建立一個Text selecto,抽取劇情介紹,還是按照上面的方法做。做完之後就有兩個Text Selector。

Text Selector 例子2

 

步驟7:完成步驟6後,我們一個簡單sitemap就配置好了,它可以工作抓取了。這時你點選如圖裡的”Sitemap crawl-douban-yingpin”下拉框選擇Scrape,在隨後出現的介面直接點選starting scraping,Web Scrape就開始工作抓取了。

點選Scrape按鈕

還要再配置一下,請求間隔時間和等待頁面載入時間。

config-wait-time

Request interval就是請求間隔時間,就是訪問一個連結後,隔多久再訪問下一個連結。

Page load delay就是等待頁面載入時間,因為網路等原因頁面內容沒有全部載入完,所以需要等待載入完,不然有可能抓取不到內容。

上面兩個最好設定的大一點,太小了,有可能訪問頻率太高會被對方把你的IP遮蔽了,上圖4000是4000毫秒,表示4秒的意思。

點選Start scraping後稍等一會就抓取完了,會出現Refresh按鈕,點選一下就能看到資料了,然後選擇匯出CVS檔案到電腦裡,CVS檔案你可以使用Excel直接開啟。

export csv

上面有很多引數和選項,老猿沒有解釋,怕一時說太多,我自己都說迷糊,說得沒條理,所以就把主流程說一下,親們照照著上面得例子都操作一下,做熟練一點。我們後面再來解釋細節和進階配置。

Web Scraper系列文章:

Web Scraper教程

Web Scraper工作原理

Web Scraper如何翻頁

猿人學banner宣傳圖

我的公眾號:猿人學 Python 上會分享更多心得體會,敬請關注。

***版權申明:若沒有特殊說明,文章皆是猿人學 yuanrenxue.com 原創,沒有猿人學授權,請勿以任何形式轉載。***

相關文章