新媒体人必会的傻瓜式爬虫工具:上手 Web Scraper 的 5 个步骤

22 评论 89099 浏览 179 收藏 9 分钟

做新媒体运营,很多时候会需要用到数据来帮助工作,比如你新进到一家公司做新媒体内容编辑,那你需要盘点公司已有的内容资产,避免重复生产内容。这时候就需要把网页上的数据给扒下来,放在一起,才会一目了然。

从网页上扒数据,最好用的方法当然是爬虫工具啦。很多人都以为爬虫很难学吧?我一开始也这么认为的,直到我遇到了 Web Scraper 这个工具,才知道原来爬网页数据也可以这么简单。

下面,我就现身说法,讲解一个小白是怎么快速上手 Web Scraper 的。

步骤一:下载 Web Scraper

Web Scraper 是 Chrome 浏览器上的一个插件,你需要翻墙进入 Chrome 应用商店,下载 Web Scraper 插件

步骤二:打开 Web Scraper

先打开一个你想爬数据的网页,比如我想爬今日头条上「吴晓波频道」这个账户的文章标题、时间、评论数,那我就先打开它,再一一进行操作。

然后用快捷键 Ctrl + Shift + I / F12 打开 Web Scraper

步骤三:新建一个 Sitemap

点击 Create New Sitemap,里面有两个选项,import sitemap是指导入一个现成的 sitemap,咱小白一般没有现成的,所以一般不选这个,选create sitemap 就好。然后进行这两个操作:

  • Sitemap Name:代表你这个 Sitemap 是适用于哪一个网页的,所以你可以根据网页来自命名,不过需要使用英文字母,比如我抓的是今日头条的数据,那我就用 toutiao 来命名;
  • Sitemap URL:把网页链接复制到 Star URL 这一栏,比如图片里我把「吴晓波频道」的主页链接复制到了这一栏。

步骤四:设置这个 Sitemap

整个 Web Scraper 的抓取逻辑是这样:设置一级 Selector,选定抓取范围;在一级 Selector 下设置二级 Selector,选定抓取字段,然后抓取

咱们换个接地气的例子,假如你要获取福建人的姓名、性别和年龄这三个要素,那么你得这么做:首先要定位到福建省,然后再在福建省里面去定位姓名、性别、年龄。

在这里,一级 Selector 表示你要在中国这个大的国家圈出福建省,二级Selector 表示你要在福建省的人口中圈定姓名、性别、年龄这三个要素。

对于文章而言,一级 Selector 就是你要把这一块文章的要素圈出来,这个要素可能包含了 标题、作者、发布时间、评论数等等,然后我们再在二级 Selector 中挑出我们要的要素,比如标题、作者、阅读数。

下面我们来拆解这个设置一级、二级 Selector 的工作流:

1. 点击 Add new selector 创建一级 Selector,按照以下步骤操作:

  • 输入id:id 代表你抓取的整个范围,比如这里是文章,我们可以命名为 wuxiaobo-articles;
  • 选择Type:type 代表你抓取的这部分的类型,比如元素/文本/链接,因为这个是整个文章要素范围选取,我们需要用 Element 来先整体选取(如果这个网页需要滑动加载更多,那就选 Element Scroll Down);
  • 勾选Multiple:勾选 Multiple 前面的小框,因为你要选的是多个元素而不是单个元素,当我们勾选的时候,爬虫插件会帮助我们识别多篇同类的文章;
  • 保留设置:其余未提及部分保留默认设置。

2. 点击 select 选择范围,按照以下步骤操作:

  • 选择范围:用鼠标选择你要爬取数据的范围,绿色是待选区域,用鼠标点击后变为红色,才是选中了这块区域;
  • 多选:不要只选一个,下面的也要选,否则爬出来的数据也只有一行;
  • 完成选择: 记得点 Done Selecting;
  • 保存:点击 Save Selector。

3. 设置好了这个一级的 Selector 之后,点进去设置二级的 Selector,按照以下步骤操作:

  • 新建Selector:点击 Add new selector ;
  • 输入id:id 代表你抓取的是哪个字段,所以可以取该字段的英文,比如我要选「作者」,我就写「writer」;
  • 选择Type:选 Text,因为你要抓取的是文本;
  • 勿勾选Multiple:不要勾选 Multiple 前面的小框,因为我们在这里要抓取的是单个元素;
  • 保留设置:其余未提及部分保留默认设置。

4. 点击 select,再点击你要爬取的字段,按照以下步骤操作:

  • 选择字段:这里爬取的字段是单个的,用鼠标点击该字段即可选定,比如要爬标题,那就用鼠标点击某篇文章的标题,当字段所在区域变红即为选中;
  • 完成选择:记得点 Done Selecting;
  • 保存:点击 Save Selector。

5. 重复以上操作,直到选完你想爬的字段。

步骤五:爬取数据

之所以说 Web Scraper 是傻瓜式爬虫工具,就是因为只需要设置完所有的 Selector,就可以开始爬数据了,怎么样,是不是简单?

那么怎么开始爬数据呢?只需要一个简单的操作:点击 Scrape,然后点Start Scraping,会弹出一个小窗,然后辛勤的小爬虫就开始工作了。你会得到一个列表,上面有你想要的所有数据。

如果你希望把这些数据做一个排序,比如按照阅读量、赞数、作者等指标排序,让数据更一目了然,那么你可以点击 Export Data as CSV,把它导入 Excel 表里

导入 Excel 表格之后,你就可以对数据进行筛选了。

以上就是快速上手 Web Scraper 的所有操作过程,连我这种懒癌 + 手残都能在 5 分钟之内搞定,相信你也可以指哪儿爬哪儿,完全 OK 的啦。

 

作者:半撇私塾,公众号:BPteach2016。

本文由 @半撇私塾 原创发布于人人都是产品经理。未经许可,禁止转载

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 我这里写了十几篇关于 web scraper 的教程,从基础的抓取元素到高级的翻页技巧都覆盖了,非常适合产品运营的同学学习。感兴趣的同学可以看一下:https://www.cnblogs.com/web-scraper/

    来自上海 回复
  2. 您好,如果数据很多,需要翻页,这个应该怎么实现呢?

    来自贵州 回复
  3. 想请问下,按照上面操作,为什么有的数据是null呢?

    来自广东 回复
  4. 我有一个视频课程就是讲web scraper的使用方法,有兴趣的可以看微信公众号:全栈全网营销,也有翻译的文档资料。

    来自福建 回复
  5. 你好为什么我按着你的操作来 只有标题 其他的啥也没有呢?

    来自江苏 回复
  6. 你好,我想请问一个问题:如果想要加载更多数据,需要选择scroll down类型,可是我想要加载的是向上翻的数据,这样的话该如何实现呢?

    来自新加坡 回复
    1. 您是说翻页还是向上滚动?一般的加载更多的模式都是翻页或者向下滚动的呀?

      来自广东 回复
    2. 是的,一般情况都是向下滚动的,可是这次要抓的数据在最上面,需要向上滚动才能加载到。请问这样功能可以实现吗?

      来自新加坡 回复
  7. 非常6 gif教学,不错不错。你录制gif用啥工具?

    来自北京 回复
    1. ScreenToGif

      来自广东 回复
    2. 其实有一个细节,就是如果遇到类似京东的产品列表页,想撸前10页的内容,如何设置?下方翻页是1 2……下一页 123页那种……我搜了油管,发现也没有细节教学。

      来自北京 回复
    3. 你在建一级selector的时候,不是要复制网页url吗,如果是多个页面的链接,后面会有page=1这种字样,你改成page=[1-10]应该就可以了

      来自广东 回复
    4. 多谢,测试了下,确实可以,不过貌似这个爬的顺序不是顺序排列的。比如去京东,排序销量最好的10页手机并不能按照顺序爬,这个有点儿尴尬。

      来自北京 回复
  8. 怎么翻墙勒

    回复
    1. VPN..还有一个办法,把笔记本带到国外上网 😀

      来自广东 回复
    2. 可以用蓝灯哦~

      来自广东 回复
  9. 感觉挺有用,想问下作者我按步骤操作完之后最后出现的只有null,而没有出现那些文章的信息,是什么原因呢?

    来自广东 回复
    1. 你的参数可能设置错了,看看你新建一二级selector的时候是不是出错了?

      来自广东 回复
    2. 有可能是id那,一级selector的id是 wuxiaobo还是 wuxiaobo-articles呀?因为图片中你是输入 wuxiaobo,但是文字说明中你又写 wuxiaobo-articles?

      来自广东 回复
    3. 这个id是自己设的,不会对结果有太大影响的~

      来自广东 回复
    4. 嗯嗯好的

      来自广东 回复
    5. 可以私聊帮忙解决下吗?谢谢,这里回复不能发截图的

      来自广东 回复