這是簡易數據分析系列的第 4 篇文章。
今天我們開始數據抓取的第一課,完成我們的第一個爬蟲。因為是剛剛開始,操作我會講的非常詳細,可能會有些啰嗦,希望各位不要嫌棄啊:)
有人之前可能學過一些爬蟲知識,總覺得這是個復雜的東西,什么 HTTP、HTML、IP 池,在這里我們都不考慮這些東西。一是小的數據量根本不需要考慮,二是這些亂七八糟的東西根本沒有說到爬蟲的本質。
爬蟲的本質是什么?其實就是找規律。
而且爬蟲的找規律難度,大部分都是小學三年級的數學題水平。
我們下面拿個例子說明一下,下圖歷史文章的一個截圖,我們可以很清晰的看到,每一條推文可以分為三大部分:標題、圖片和作者,我們只要找到這個規律,就可以批量的抓取這類數據。
好了,理論的地方我們講完了,下面我們開始進行實操。
但凡做爬蟲練手,第一個爬取的網站一般都是豆瓣電影 TOP 250,網址鏈接是 https://movie.douban.com/top250?start=0&filter=。第一次上手,我們爬取的內容盡量簡單,所以我們只爬取第一頁的電影標題。
瀏覽器按 F12
打開控制台,並把控制台放在網頁的下方(具體操作可以看上一篇文章),然后找到 Web Scraper 這個 Tab,點進去就來到了 Web Scraper 的控制頁面。
進入 Web Scraper 的控制頁面后,我們按照 Create new sitemap
-> Create Sitemap
的操作路徑,創建一個新的爬蟲,sitemap
是啥意思並不重要,你就當他是個爬蟲的別名就好了。
我們在接下來出現的輸入框里依次輸入爬蟲名和要爬取的鏈接。
爬蟲名可能會有字符類型的限制,我們看一下規則規避就好了,最后點擊 Create Sitemap
這個按鈕,創建我們的第一個爬蟲。
這時候會跳到一個新的操作面板,不要管別的,我們直接點擊 Add new selector
這個藍底白字的按鈕,顧名思義,創建一個選擇器,用來選擇我們想要抓取的元素。
這時候就要開始正式的數據抓取環節了!我們先觀察一下這個面板有些什么東西:
1.首先有個 Id,這個就是給我們要爬取的內容標注一個 id,因為我們要抓取電影的名字,簡單起見就取個 name 吧;
2.電影名字很明顯是一段文字,所以 Type 類型肯定是 Text,在這個爬蟲工具里,默認 Type 類型就是 Text,這次的爬取工作就不需要改動了;
3.我們把多選按鈕 Multiple 勾選上,因為我們要抓的是批量的數據,不勾選的話只能抓取一個;
4.最后我們點擊黃色圓圈里的 Select,開始在網頁上勾選電影名字;
當你把鼠標移動到網頁時,會發現網頁上出現了綠色的方塊兒,這些方塊就是網頁的構成元素,當我們點擊鼠標時,綠色的方塊兒就會變為紅色,表示這個元素被選中了:
這時候我們就可以進行我們的抓取工作了。
我們先選擇「肖生克的救贖」這個標題,然后再選擇「霸王別姬」這個標題(注意:想達到多選的效果,一定要手動選取兩個以上的內容)
選完這兩個標題后,向下拉動網頁,你就會發現所有的電影名字都被選中了:
拉動網頁檢查一遍,發現所有的電影標題都被選中后,我們就可以點擊 Done selecting!
這個按鈕,表示選擇完畢;
點擊按鈕后你會發現下圖的紅框位置會出現了一些字符,一般出現這個就表示選取成功了:
我們點擊 Data preview
這個按鈕,就可以預覽我們的抓取效果了:
沒什么問題的話,關閉 Data Preview 彈窗,翻到面板的最下面,有個 Save selector
的藍色按鈕,點擊后我們會回退到上一個面板。
這時候你會發現多了一行數據,其實就是我們剛剛的操作內容被記錄下來了。
在頂部的 tab 欄,有一個 Sitemap top250
的 tab,這個就是我們剛剛創建的爬蟲。點擊它,再點擊下拉菜單里的 Scrape
按鈕,開始我們的數據抓取。
這時候你會跳到另一個面板,里面有兩個輸入框,先別管他們是什么,全部輸入 2000 就好了。
點擊
Start scraping
藍色按鈕后,會跳出一個新的網頁,Web Scraper
插件會在這里進行數據抓取:
一般彈出的網頁自動關閉就代表着數據抓取結束了,我們點擊面板上的 refresh
藍色按鈕,就可以看到我們抓取的數據了!
在這個預覽面板上,第一列是 web scraper 自動添加的編號,沒啥意義;第二列是抓取的鏈接,第三列就是我們抓取的數據了。
這個數據會存儲在我們的瀏覽器里,我們也可以點擊 Sitemap top250
下的 Export data as CSV
,這樣就可以導出成 .csv
格式的數據,這種格式可以用 Excel 打開,我們可以用 Excel 做一些數據格式化的操作。
今天我們爬取了豆瓣電影TOP250 的第 1 頁數據(也就是排名最高的 25 部電影),下一篇我們講講,如何抓取所有的電影名。
推薦閱讀:
簡易數據分析 02 | Web Scraper 的下載與安裝
聯系我
因為文章發在各大平台上,賬號較多不能及時回復評論和私信,有問題可關注公眾號 ——「鹵蛋實驗室」,(或 wx 搜索 egglabs)關注上車防失聯。