這是簡易數據分析系列的第 7 篇文章。html
在第 4 篇文章裏,我講解了如何抓取單個網頁裏的單類信息;web
在第 5 篇文章裏,我講解了如何抓取多個網頁裏的單類信息;學習
今天咱們要講的是,如何抓取多個網頁裏的多類信息。spa
此次的抓取是在簡易數據分析 05的基礎上進行的,因此咱們一開始就解決了抓取多個網頁的問題,下面全力解決如何抓取多類信息就能夠了。3d
咱們在實操前先把邏輯理清:code
上幾篇只抓取了一類元素:電影名字。這期咱們要抓取多類元素:排名,電影名,評分和一句話影評。htm
根據 Web Scraper 的特性,想抓取多類數據,首先要抓取包裹多類數據的容器,而後再選擇容器裏的數據,這樣才能正確的抓取。我畫一張圖演示一下:blog
咱們首先要抓取多個 container(容器),再抓取 container 裏的元素:編號、電影名、評分和一句話影評,當爬蟲運行完後,咱們就會成功抓取數據。排序
概念上搞清楚了,咱們就能夠講實際操做了。教程
若是對如下的操做有疑問,能夠看 簡易數據分析 04 的內容,那篇文章詳細圖解了如何用 Web Scraper 選擇元素的操做
1.點擊 Stiemaps
,在新的面板裏點擊 ID 爲 top250
的這列數據
2.刪除掉舊的 selector,點擊 Add new selector
增長一個新的 selector
3.在新的 selector 內,注意把 Type 類型改成 Element(元素),由於在 Web Scraper 裏,只有元素類型才能包含多個內容。
咱們勾選的元素區域以下圖所示,確認無誤後點擊 Save selector 按鈕,就會回退到上一個操做面板。
在新的面板裏,點擊剛剛建立的 selector 那行數據:
點擊後咱們就會進入一個新的面板,根據導航咱們可知在 container 內部。
在新的面板裏,咱們點擊 Add new selector,新建一個 selector,用來抓取電影名,類型爲 Text,值得注意的是,由於咱們是在 container 內選擇文字的,一個 container 內只有一個電影名,因此多選不要勾選,要否則會抓取失敗。
選擇電影名的時候你會發現 container 黃色高亮,咱們就在黃色的區域裏選擇電影名就行了。
點擊 Save selector 保存選擇器後,咱們再建立三個選擇器,分別選擇編號、評分和一句話影評,由於操做和上面如出一轍,我這裏就省略講解了。
排名編號:
評分:
一句話影評:
咱們能夠在面板裏觀察咱們選擇的多個元素,一共有四個元素:分別爲 name、number、score 和 review,類型都是 Text,不須要多選,父選擇器都是 container。
咱們能夠點擊 點擊 Stiemap top250
下的 selector graph
,查看咱們爬蟲選擇元素的層級關係,確認正確後咱們再點擊 Stiemap top250
下的 Selectors
,回到選擇器展現面板。
下圖就是咱們此次爬蟲的層級關係,是否是和咱們以前理論分析的同樣?
確認選擇無誤後,咱們就能夠抓取數據了,操做在 簡易數據分析 04 、 簡易數據分析 05 裏都說過了,忘記的朋友能夠看舊文回顧一下。下圖是我抓取的數據:
仍是和之前同樣,數據是亂序的,不過這個沒關係,由於排序屬於數據清洗的內容了,咱們如今的專題是數據抓取。先把相關的知識點講完,再攻克下一個知識點,纔是更合理的學習方式。
今天的內容其實仍是比較多的,你們能夠先消化一下,下一篇咱們講講,如何抓取點擊**「加載更多」**加載數據的網頁內容。
此次的 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 翻頁——控制連接批量抓取數據
<br/>
<br/>
原文出處:https://www.cnblogs.com/web-scraper/p/web_scraper_use_element_selector.html