Web Scraper 抓取多條內容

簡易數據分析 07 | Web Scraper 抓取多條內容

這是簡易數據分析系列的第 7 篇文章。

在第 4 篇文章裡,我講解了如何抓取個網頁裡的類信息;

在第 5 篇文章裡,我講解了如何抓取個網頁裡的類信息;

今天我們要講的是,如何抓取個網頁裡的類信息。

這次的抓取是在簡易數據分析 05的基礎上進行的,所以我們一開始就解決了抓取多個網頁的問題,下面全力解決如何抓取多類信息就可以了。

簡易數據分析 07 | Web Scraper 抓取多條內容

我們在實操前先把邏輯理清:

上幾篇只抓取了一類元素:電影名字。這期我們要抓取多類元素:排名,電影名,評分和一句話影評

簡易數據分析 07 | Web Scraper 抓取多條內容

根據 Web Scraper 的特性,想抓取多類數據,首先要抓取包裹多類數據的容器,然後再選擇容器裡的數據,這樣才能正確的抓取。我畫一張圖演示一下:

簡易數據分析 07 | Web Scraper 抓取多條內容

我們首先要抓取多個 container(容器),再抓取 container 裡的元素:編號、電影名、評分和一句話影評,當爬蟲運行完後,我們就會成功抓取數據。

概念上搞清楚了,我們就可以講實際操作了。

如果對以下的操作有疑問,可以看 簡易數據分析 04 的內容,那篇文章詳細圖解了如何用 Web Scraper 選擇元素的操作

1.點擊 Stiemaps,在新的面板裡點擊 ID 為 top250 的這列數據

簡易數據分析 07 | Web Scraper 抓取多條內容

2.刪除掉舊的 selector,點擊 Add new selector 增加一個新的 selector

簡易數據分析 07 | Web Scraper 抓取多條內容

3.在新的 selector 內,注意把 Type 類型改為 Element(元素),因為在 Web Scraper 裡,只有元素類型才能包含多個內容。

簡易數據分析 07 | Web Scraper 抓取多條內容

我們勾選的元素區域如下圖所示,確認無誤後點擊 Save selector 按鈕,就會回退到上一個操作面板。

簡易數據分析 07 | Web Scraper 抓取多條內容

在新的面板裡,點擊剛剛創建的 selector 那行數據:

簡易數據分析 07 | Web Scraper 抓取多條內容

點擊後我們就會進入一個新的面板,根據導航我們可知在 container 內部。

簡易數據分析 07 | Web Scraper 抓取多條內容

在新的面板裡,我們點擊 Add new selector,新建一個 selector,用來抓取電影名,類型為 Text,值得注意的是,因為我們是在 container 內選擇文字的,一個 container 內只有一個電影名,所以多選不要勾選,要不然會抓取失敗。

簡易數據分析 07 | Web Scraper 抓取多條內容

選擇電影名的時候你會發現 container 黃色高亮,我們就在黃色的區域裡選擇電影名就好了。

簡易數據分析 07 | Web Scraper 抓取多條內容

點擊 Save selector 保存選擇器後,我們再創建三個選擇器,分別選擇編號、評分和一句話影評,因為操作和上面一模一樣,我這裡就省略講解了。

排名編號:

簡易數據分析 07 | Web Scraper 抓取多條內容

評分:

簡易數據分析 07 | Web Scraper 抓取多條內容

一句話影評:

簡易數據分析 07 | Web Scraper 抓取多條內容

我們可以在面板裡觀察我們選擇的多個元素,一共有四個元素:分別為 name、number、score 和 review,類型都是 Text,不需要多選,父選擇器都是 container。

簡易數據分析 07 | Web Scraper 抓取多條內容

我們可以點擊 點擊 Stiemap top250 下的 selector graph,查看我們爬蟲選擇元素的層級關係,確認正確後我們再點擊 Stiemap top250 下的 Selectors,回到選擇器展示面板。

簡易數據分析 07 | Web Scraper 抓取多條內容

下圖就是我們這次爬蟲的層級關係,是不是和我們之前理論分析的一樣?

簡易數據分析 07 | Web Scraper 抓取多條內容

確認選擇無誤後,我們就可以抓取數據了,操作在 簡易數據分析 04 、 簡易數據分析 05 裡都說過了,忘記的朋友可以看舊文回顧一下。下圖是我抓取的數據:

簡易數據分析 07 | Web Scraper 抓取多條內容

還是和以前一樣,數據是亂序的,不過這個不要緊,因為排序屬於數據清洗的內容了,我們現在的專題是數據抓取。先把相關的知識點講完,再攻克下一個知識點,才是更合理的學習方式。

今天的內容其實還是比較多的,大家可以先消化一下,下一篇我們講講,如何抓取點擊「加載更多」加載數據的網頁內容。

簡易數據分析 07 | Web Scraper 抓取多條內容

Sitemap 分享:

這次的 sitemap 就分享給大家,大家可以導入到 Web Scraper 中進行實驗,具體方法可以看我上一篇教程。

Sitemap:

{"id":"top250","startUrl":["https://movie.douban.com/top250?start=[0-250:25]&filter="],"selectors":[{"id":"container","type":"SelectorElement","parentSelectors":["root"],"selector":".grid_view li","multiple":true,"delay":0},{"id":"name","type":"SelectorText","parentSelectors":["container"],"selector":"span.title:nth-of-type(1)","multiple":false,"regex":"","delay":0},{"id":"number","type":"SelectorText","parentSelectors":["container"],"selector":"em","multiple":false,"regex":"","delay":0},{"id":"score","type":"SelectorText","parentSelectors":["container"],"selector":"span.rating_num","multiple":false,"regex":"","delay":0},{"id":"review","type":"SelectorText","parentSelectors":["container"],"selector":"span.inq","multiple":false,"regex":"","delay":0}]}

簡易數據分析 04 | Web Scraper 初嘗--抓取豆瓣高分電影

簡易數據分析 05 | Web Scraper 翻頁——控制鏈接批量抓取數據

簡易數據分析 06 | 如何導入別人已經寫好的 Web Scraper 爬蟲



分享到:


相關文章: