简易数据分析 04 | Web Scraper 初尝--抓取豆瓣高分电影
這是簡易數(shù)據(jù)分析系列的第 4 篇文章。
原文首發(fā)于博客園:簡易數(shù)據(jù)分析 04。
今天我們開始數(shù)據(jù)抓取的第一課,完成我們的第一個爬蟲。因為是剛剛開始,操作我會講的非常詳細(xì),可能會有些啰嗦,希望各位不要嫌棄啊:)
有人之前可能學(xué)過一些爬蟲知識,總覺得這是個復(fù)雜的東西,什么 HTTP、HTML、IP 池,在這里我們都不考慮這些東西。一是小的數(shù)據(jù)量根本不需要考慮,二是這些亂七八糟的東西根本沒有說到爬蟲的本質(zhì)。
爬蟲的本質(zhì)是什么?其實就是找規(guī)律。
而且爬蟲的找規(guī)律難度,大部分都是小學(xué)三年級的數(shù)學(xué)題水平。
我們下面拿個例子說明一下,下圖歷史文章的一個截圖,我們可以很清晰的看到,每一條推文可以分為三大部分:標(biāo)題、圖片和作者,我們只要找到這個規(guī)律,就可以批量的抓取這類數(shù)據(jù)。
好了,理論的地方我們講完了,下面我們開始進(jìn)行實操。
但凡做爬蟲練手,第一個爬取的網(wǎng)站一般都是豆瓣電影 TOP 250,網(wǎng)址鏈接是 https://movie.douban.com/top250?start=0&filter=。第一次上手,我們爬取的內(nèi)容盡量簡單,所以我們只爬取第一頁的電影標(biāo)題。
[外鏈圖片轉(zhuǎn)存失敗(img-ELxlj8QN-1562198130646)(https://image-1255652541.cos.ap-shanghai.myqcloud.com/images/20190623093803.png)]
瀏覽器按 F12 打開控制臺,并把控制臺放在網(wǎng)頁的下方(具體操作可以看上一篇文章),然后找到 Web Scraper 這個 Tab,點進(jìn)去就來到了 Web Scraper 的控制頁面。
進(jìn)入 Web Scraper 的控制頁面后,我們按照 Create new sitemap -> Create Sitemap 的操作路徑,創(chuàng)建一個新的爬蟲,sitemap 是啥意思并不重要,你就當(dāng)他是個爬蟲的別名就好了。
我們在接下來出現(xiàn)的輸入框里依次輸入爬蟲名和要爬取的鏈接。
爬蟲名可能會有字符類型的限制,我們看一下規(guī)則規(guī)避就好了,最后點擊 Create Sitemap 這個按鈕,創(chuàng)建我們的第一個爬蟲。
這時候會跳到一個新的操作面板,不要管別的,我們直接點擊 Add new selector 這個藍(lán)底白字的按鈕,顧名思義,創(chuàng)建一個選擇器,用來選擇我們想要抓取的元素。
這時候就要開始正式的數(shù)據(jù)抓取環(huán)節(jié)了!我們先觀察一下這個面板有些什么東西:
1.首先有個 Id,這個就是給我們要爬取的內(nèi)容標(biāo)注一個 id,因為我們要抓取電影的名字,簡單起見就取個 name 吧;
2.電影名字很明顯是一段文字,所以 Type 類型肯定是 Text,在這個爬蟲工具里,默認(rèn) Type 類型就是 Text,這次的爬取工作就不需要改動了;
3.我們把多選按鈕 Multiple 勾選上,因為我們要抓的是批量的數(shù)據(jù),不勾選的話只能抓取一個;
4.最后我們點擊黃色圓圈里的 Select,開始在網(wǎng)頁上勾選電影名字;
當(dāng)你把鼠標(biāo)移動到網(wǎng)頁時,會發(fā)現(xiàn)網(wǎng)頁上出現(xiàn)了綠色的方塊兒,這些方塊就是網(wǎng)頁的構(gòu)成元素,當(dāng)我們點擊鼠標(biāo)時,綠色的方塊兒就會變?yōu)榧t色,表示這個元素被選中了:
這時候我們就可以進(jìn)行我們的抓取工作了。
我們先選擇「肖生克的救贖」這個標(biāo)題,然后再選擇「霸王別姬」這個標(biāo)題(注意:想達(dá)到多選的效果,一定要手動選取兩個以上的內(nèi)容)
選完這兩個標(biāo)題后,向下拉動網(wǎng)頁,你就會發(fā)現(xiàn)所有的電影名字都被選中了:
[外鏈圖片轉(zhuǎn)存失敗(img-oPJa8M15-1562198130652)(https://image-1255652541.cos.ap-shanghai.myqcloud.com/images/20190623093807.gif)]
拉動網(wǎng)頁檢查一遍,發(fā)現(xiàn)所有的電影標(biāo)題都被選中后,我們就可以點擊 Done selecting!這個按鈕,表示選擇完畢;
點擊按鈕后你會發(fā)現(xiàn)下圖的紅框位置會出現(xiàn)了一些字符,一般出現(xiàn)這個就表示選取成功了:
我們點擊 Data preview 這個按鈕,就可以預(yù)覽我們的抓取效果了:
沒什么問題的話,關(guān)閉 Data Preview 彈窗,翻到面板的最下面,有個 Save selector 的藍(lán)色按鈕,點擊后我們會回退到上一個面板。
這時候你會發(fā)現(xiàn)多了一行數(shù)據(jù),其實就是我們剛剛的操作內(nèi)容被記錄下來了。
在頂部的 tab 欄,有一個 Sitemap top250 的 tab,這個就是我們剛剛創(chuàng)建的爬蟲。點擊它,再點擊下拉菜單里的 Scrape 按鈕,開始我們的數(shù)據(jù)抓取。
這時候你會跳到另一個面板,里面有兩個輸入框,先別管他們是什么,全部輸入 2000 就好了。
點擊 Start scraping 藍(lán)色按鈕后,會跳出一個新的網(wǎng)頁,Web Scraper 插件會在這里進(jìn)行數(shù)據(jù)抓取:
一般彈出的網(wǎng)頁自動關(guān)閉就代表著數(shù)據(jù)抓取結(jié)束了,我們點擊面板上的 refresh 藍(lán)色按鈕,就可以看到我們抓取的數(shù)據(jù)了!
在這個預(yù)覽面板上,第一列是 web scraper 自動添加的編號,沒啥意義;第二列是抓取的鏈接,第三列就是我們抓取的數(shù)據(jù)了。
這個數(shù)據(jù)會存儲在我們的瀏覽器里,我們也可以點擊 Sitemap top250 下的 Export data as CSV,這樣就可以導(dǎo)出成 .csv 格式的數(shù)據(jù),這種格式可以用 Excel 打開,我們可以用 Excel 做一些數(shù)據(jù)格式化的操作。
今天我們爬取了豆瓣電影TOP250 的第 1 頁數(shù)據(jù)(也就是排名最高的 25 部電影),下一篇我們講講,如何抓取所有的電影名。
推薦閱讀:
簡易數(shù)據(jù)分析 03 | 瀏覽器中那些不為人知的使用技巧
簡易數(shù)據(jù)分析 02 | Web Scraper 的下載與安裝
簡易數(shù)據(jù)分析 01 | 為什么我們要學(xué)習(xí)數(shù)據(jù)分析?
總結(jié)
以上是生活随笔為你收集整理的简易数据分析 04 | Web Scraper 初尝--抓取豆瓣高分电影的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【计及DG和相关性的纯交流三点估计随机潮
- 下一篇: 磁贴