这是简易数据分析系列的第 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