这是简易数据分析系列的第 7 篇文章。

在第 4 篇文章里,我讲解了如何抓取单个网页里的单类信息;

在第 5 篇文章里,我讲解了如何抓取多个网页里的单类信息;

今天我们要讲的是,如何抓取多个网页里的多类信息。

这次的抓取是在简易数据分析 05的基础上进行的,所以我们一开始就解决了抓取多个网页的问题,下面全力解决如何抓取多类信息就可以了。

我们在实操前先把逻辑理清:

上几篇只抓取了一类元素:电影名字。这期我们要抓取多类元素:排名,电影名,评分和一句话影评。

根据 Web Scraper 的特性,想抓取多类数据,首先要抓取包裹多类数据的容器,然后再选择容器里的数据,这样才能正确的抓取。我画一张图演示一下:

我们首先要抓取多个 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 分享:

这次的 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}]}

推荐阅读:

因为文章发在各大平台上,账号较多不能及时回复评论和私信,有问题可关注公众号 ——「卤蛋实验室」,(或 wx 搜索 egglabs)关注上车防失联。

webscraper多页爬取_Web Scraper 高级用法——Web Scraper 抓取多条内容 | 简易数据分析 07...相关推荐

  1. Web Scraper 翻页——抓取分页器翻页的网页(Web Scraper 高级用法)| 简易数据分析 12

    这是简易数据分析系列的第 12 篇文章. 前面几篇文章我们介绍了 Web Scraper 应对各种翻页的解决方法,比如说修改网页链接加载数据.点击"更多按钮"加载数据和下拉自动加载 ...

  2. 机器人识别抓取笔记(基于视觉的机器人抓取——从物体定位、物体姿态估计到平行抓取器抓取估计:综述)

    Real-Time Deep Learning Approach to Visual Servo Control and Grasp Detection for Autonomous Robotic ...

  3. 抖音短视频数据抓取实战系列(三)——Fiddler抓取抖音用户详细信息数据

    抖音短视频数据抓取实战系列(三)--Fiddler抓取抖音用户详细信息数据 项目目录 1.抖音短视频数据抓取实战系列(〇)--前言 2.抖音短视频数据抓取实战系列(一)--模拟器的选择与设置 3.抖音 ...

  4. 高校新闻抓取分析之百度新闻篇---数据抓取

    高校新闻抓取分析之百度新闻篇-数据抓取 tips: 本文代码使用python3编写 代码仓库 使用urllib抓取数据 百度新闻网页界面分析 在我读大学的时候(18年前),百度新闻还能基于新闻标题或者 ...

  5. 抖音短视频数据抓取实战系列(十二)——抓取实战BUG总集

    抖音短视频数据抓取实战系列(十二)--抓取实战BUG总集 1.模拟器自带的Xposed框架无法安装. 2.Fiddler无法监测雷电模拟器上的数据. 3.模拟器抖音用户详情页为空(未解决). 4.pi ...

  6. 美国服务器百度抓取耗时不稳定,百度或者其他搜索引擎抓取频次快慢的因素,还会受什么有影响?...

    什么是搜索引擎的抓取频次? 抓取频次是搜索引擎在单位时间内(天级)对网站服务器抓取的总次数. 对于百度搜索引擎来说非常智能: 如果百度搜索引擎对站点的抓取频次过高,就很有可能造成服务器不稳定(相对而言 ...

  7. 杜国光博士,基于视觉的机器人抓取--物体定位,位姿估计到抓取估计课堂笔记

    基于视觉的机器人抓取--物体定位,位姿估计到抓取估计课堂笔记 杜国光博士在智东西公开课上讲了<基于视觉的机器人抓取--物体定位,位姿估计到抓取估计>的精彩课程 满满的干货,记下来,后面慢慢 ...

  8. 你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。 抓取多少个就可以确定你肯定有两个同一颜色的果冻?(5秒-1分钟)

    你有一桶果冻,其中有黄色.绿色.红色三种,闭上眼睛抓取同种颜色的两个. 抓取多少个就可以确定你肯定有两个同一颜色的果冻?(5秒-1分钟) 分析: 1.里面有三种颜色时,需要4个 2.里面有2种颜色时, ...

  9. webscraper多页爬取_Web Scraper 翻页——抓取「滚动加载」类型网页(Web Scraper 高级用法)| 简易数据分析 10...

    这是简易数据分析系列的第 10 篇文章. 友情提示:这一篇文章的内容较多,信息量比较大,希望大家学习的时候多看几遍. 我们在刷朋友圈刷微博的时候,总会强调一个『刷』字,因为看动态的时候,当把内容拉到屏 ...

最新文章

  1. KDE社区:首个KDialogue正式开放
  2. 使用Windows兼容包简化向.NET Core的迁移
  3. sort用法(默认按升序排列)
  4. 「原创」马云又嗨啦,云栖音乐节与李健同台飙歌,把健哥都带跑调了
  5. 在jsp页面利用Ajax动态显示数据库中数据
  6. BugkuCTF-Reverse题love
  7. php this 和 self,PHP中this和self的区别
  8. SqlServer表中两条全然同样的记录,怎样删除当中1条
  9. DucleBox | A Game Engine for OpenGL Programming
  10. 最小生成树的java实现
  11. C#中完美克隆引用类型的对象
  12. java 对象复制_程序员应该知道java虚拟机的22个重难点(干货)
  13. c语言中字符型char数据在内存中占,互联网常识:在c语言中char型数据在内存中的储存形式为什么...
  14. 什么公司邮箱邮件系统安全,安全邮箱格式怎么写?
  15. 二叉排序树、AVL树、红黑树、B树、B+树、Hash树、
  16. 小程序学习笔记5---导航跳转
  17. 稀缺物种CP聚会:谁说我们死了?
  18. nimble源码学习——广播流程源码分析1
  19. 网狐【客户端配置杂项】
  20. 千万别轻易裸辞,今年工作太难找了!

热门文章

  1. 软件测试的生命周期测试流程
  2. QlikView常用函数(整理)
  3. 想知道录屏软件免费版有哪些?这4个工具能够做到,建议收藏备用
  4. 漏斗分析 - AARRR模型案例分析
  5. 360如何清理注册表
  6. appium 配置 打开应用闪退
  7. 基于单片机的建筑工地降尘系统
  8. 姜小白的Python日记Day13 jason序列化与开发规范
  9. CRC32、murmur32、SDBM32碰撞实验数据对比
  10. guzzlehttp