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