10分鐘學會數據信息採集:工具安裝、知乎為例介紹採集流程。
就目前而言,最為理想的爬蟲工具就是自己編程的爬蟲代碼,幾乎很多代碼都可以寫出很漂亮的爬蟲代碼,個人最為理想的就是python了,它可以用很少的簡潔的代碼就可以寫出高效的代碼,當然像java、c、ruby、php等語言都可以寫出爬蟲,但是掌握的成本要比python高很多;其次就是一些爬蟲軟體,例如火車頭、八爪魚,以及要介紹的google插件——web scraper。
Web scraper是google強大插件庫中非常強大的一款數據採集插件,有強大的反爬蟲能力,只需要在插件上簡單地設置好,可以快速抓取知乎、簡書、豆瓣、大眾、58等大型、中型、小型的80%以上的網站,包括文字、圖片、表格等內容,最後快速導出csv格式文件。Google官方對web scraper給出的說明是:
使用我們的擴展,您可以創建一個計劃(sitemap),一個web站點應該如何遍歷,以及應該提取什麼。使用這些sitemaps,Web刮刀將相應地導航站點並提取所有數據。稍後可以將剪貼數據導出為CSV。
本系列是關於web scraper的系類介紹,將會完整介紹流程介紹,用知乎、簡書等網站為例介紹如何採集文字、表格、多元素抓取、不規律分頁抓取、二級頁抓取、動態網站抓取,以及一些反爬蟲技術等全部內容。
Ok,今天就介紹web scraper的安裝以及完整的抓取流程。
一、web scraper的安裝
Web scraper是google瀏覽器的拓展插件,只需要在google瀏覽器上安裝就可以了,介紹2種安裝方法:
1、打開google瀏覽器更多工具下的拓展程序——進入到chrome 網上應用點——搜索web scraper——然後點擊安裝就可以了,如下圖所示。
但是以上的安裝方法需要翻牆到國外的網站上,所以需要用到vpn,如果有vpn的就可以用這種方法,如果沒有就可以用下面的第二種方法:
2、通過鏈接:http://pan.baidu.com/s/1skXkVN3,密碼:m672,下載web scraper安裝程序,然後直接將安裝程序拖入到chrome中的拓展程序就可以完成安裝了。
二、以知乎為例介紹web scraper完整抓取流程
1、打開目標網站,這裡以採集知乎第一大v張佳瑋的關注對象為例,需要爬取的是關注對象的知乎名字、回答數量、發表文章數量、關注著數量。
2、在網頁上右擊滑鼠,選擇檢查選項,或者用快捷鍵Ctrl + Shift + I / F12 都打開 Web Scraper。
3、打開後點擊create sitemap選擇create sitemap創建一個站點地圖。
點擊create sitemap後就得到如圖頁面,需要填寫sitemap name,就是站點名字,這點可以隨便寫,自己看得懂就好;還需要填寫start
url,就是要抓取頁面的鏈接。填寫完就點擊create sitemap,就完成創建站點地圖了。具體如下圖:
4、設置一級選擇器:選定採集範圍
接下來就是重中之重了。這裡先介紹一下web scraper的抓取邏輯:需要設置一個一級選擇器(selector),設定需要抓取的範圍;在一級選擇器下建立一個二級選擇器(selector),設置需要抓取的元素和內容。
以抓取張佳瑋關注對象為例,我們的範圍就是張佳瑋關注的對象,那就需要為這個範圍創建一個選擇器;而張佳瑋關注的對象的粉絲數、文章數量等內容就是二級選擇器的內容。
具體步驟如下:(1) Add new selector 創建一級選擇器Selector:
點擊後就可以得到下圖頁面,所需要抓取的內容就在這個頁面設置。
l id:就是對這個選擇器命名,同理,自己看得懂就好,這裡就叫jiawei-scrap。
l Type:就是要抓取的內容的類型,比如元素element/文本text/鏈接link/圖片image/動態載入內Element Scroll Down等,這裡是多個元素就選擇element。
l Selector:指的就是選擇所要抓取的內容,點擊select就可以在頁面上選擇內容,這個部分在下面具體介紹。
l 勾選Multiple:勾選 Multiple 前面的小框,因為要選的是多個元素而不是單個元素,當勾選的時候,爬蟲插件會識別頁面下具有相同屬性的內容;
(2)這一步就需要設置選擇的內容了,點擊select選項下的select 得到下圖:
之後將滑鼠移動到需要選擇的內容上,這時候需要的內容就會變成綠色就表示選定了,這裡需要提示一下,如果是所需要的內容是多元素的,就需要將元素都選擇,例如下圖所示,綠色就表示選擇的內容在綠色範圍內。
選擇內容範圍後,點擊滑鼠,選定的內容範圍就會變成如下圖的紅色:
當一個內容變紅後,我們就可以選擇接下來的第二個內容,點擊後,web scraper就會自動識別你所要的內容,具有相同元素的內容就都會變成紅色的。如下圖所示:
檢查這個頁面我們需要的內容全部變成紅色之後,就可以點擊 Done selecting選項了,就可以得到如下圖所示:
點擊save selector,保存設置。到這裡後,一級選擇器就創建完成了。
5、設置二級選擇器:選擇需要採集的元素內容。
(1)點擊下圖中紅框內容,就進入一級選擇器jiawei-scrap下:
(2)點擊add new selector創建二級選擇器,來選擇具體內容。
得到下圖,這跟一級選擇器的內容是相同的,但是設置是有區別的。
? id:代表抓取的是哪個欄位,可以取該欄位的英文,比如要選「作者」,就寫「writer」;
? Type:這裡選Text選項,因為要抓取的是文本內容;
? Multiple:不要勾選 Multiple 前面的小框,因為在這裡要抓取的是單個元素;
? 保留設置:其餘未提及部分保留默認設置。
(3)點擊select選項後,將滑鼠移到具體的元素上,元素就會變成黃色,如下圖所示:
在具體元素上點擊後,元素就會變成紅色的,就代表選定該內容了。
(4)點擊Done selecting後完成選擇,再點擊save selector後就可以完成關注對象知乎名字的選取了。
重複以上操作,直到選完你想爬的欄位。
(5)點擊紅框部分可以看到採集的內容。
Data preview可以看到採集內容,edit可以對設置的內容做修改。
6、爬取數據
(1)只需要設置完所有的 Selector,就可以開始爬數據了,點擊 Scrape map,
選澤scrape;:
(2)點擊後就會跳到時間設置頁面,如下圖,由於採集的數量不大,保存默認就可以,點擊
start scraping,就會跳出一個窗口,就開始正式採集了。(3)稍等一會就可以得到採集效果,如下圖:
(4)選擇sitemap下的export data as csv選項就可以將採集的結果以表格的形式導出。
表格效果:
上面是單頁面採集,那如果要設置多個頁面呢?需要怎麼設置呢?會在下篇文章中具體寫出來。有疑問的朋友可以諮詢微信zds369466004.
推薦閱讀: