谷歌抓取网页视频教程(3.png初识webscraper*打开WebScraper的图标(图))

优采云 发布时间: 2021-12-17 21:14

  谷歌抓取网页视频教程(3.png初识webscraper*打开WebScraper的图标(图))

  Web Scraper是一款适合普通用户(无需专业IT技术)的免费爬虫工具,通过鼠标和简单的配置即可轻松获取你想要的数据。例如知乎回答列表、微博热点、微博评论、电商网站产品信息、博客文章列表等。

  环保要求

  当然,这么简单的工具对环境的要求也很简单。它只需要一台可以上网的电脑和一个版本不是很低的Chrome浏览器。具体版本要求大于31,当然越新越好。目前Chrome有60多个,也就是说对这个版本的要求不是很高。

  安装过程

  

  1.png

  2、然后在弹出的框中点击“添加扩展”

  

  2.png

  3、安装完成后,顶部工具栏会显示Web Scraper图标。

  

  3.png

  

  4.gif

  2、安装完成后,顶部工具栏会显示Web Scraper图标。

  

  3.png 第一次认识网络爬虫**打开网络爬虫**

  开发者可以路过看看后面

  windows系统下可以使用快捷键F12,部分笔记本机型需要按Fn+F12;

  Mac系统下可以使用快捷键command+option+i;

  也可以直接在Chrome界面操作,点击设置—>更多工具—>开发者工具

  

  5.png

  打开后的效果如下,绿框部分是开发者工具的完整界面,红框部分是Web Scraper区域,是我们后面要操作的部分。

  

  6.png

  注意:如果在浏览器右侧区域打开开发者工具,需要将开发者工具的位置调整到浏览器底部。

  

  7.gif 原理及功能说明

  我们通常使用哪些场景来捕获数据?如果只是几条数据或者某条特定的数据,就不值得用工具了。使用工具的原因是批量获取数据,手工方式太多。费时费力,甚至不可能完成。比如抢微博前100个热门帖子,当然可以逐页翻页,但是太耗能了。比如知乎某个问题的所有答案,还有一些热门问题有上千个答案万,亲手做,存起来。

  基于这样的需求,采集这些数据一般有两种方式,一种叫做“我们程序员的方式”,一种叫做“你们普通人的方式”。

  “我们程序员的方式”是指开发者会根据自己的需求编写爬虫或使用爬虫框架,盯着屏幕发疯似的敲代码。根据要求的复杂程度,代码持续时间可以从一两个小时到一两个小时不等。日子不一样。当然,如果时间太长,可能是因为需求太复杂了。对于如此复杂的需求,普通人的方法可能行不通。常用的爬虫框架Scrapy(Python)、WebMagic(Java)、Crawler4j(Java)。

  本文主要介绍“你们普通人的方式”,也就是Web Scraper这个工具。由于其界面简洁,操作简单,导出为Excel格式,不懂开发的同学也能快速上手。而对于一些简单的需求,开发者不需要自己实现爬虫。毕竟,点击几下鼠标比输入半天的代码还要快。

  数据爬取的思路大体可以简单总结如下:

  1、 通过一个或多个入口地址获取初始数据。比如文章列表页,或者有一定规则的页面,比如有分页的列表页;

  2、根据入口页面的一些信息,比如链接点,进入下一页,获取必要的信息;

  3、根据上一层的链接继续下一层,获取必要的信息(这一步可以无限循环);

  原理大致相同。接下来,让我们正式认识一下Web Scraper工具。来吧,打开开发者工具,点击Web Scraper选项卡,看到它分为三个部分:

  

  8.png

  创建新的站点地图:首先了解站点地图,字面意思是网站地图,这里可以理解为入口地址,可以理解为对应一个网站,对应一个需求,假设你要获取知乎 on 要回答其中一个问题,请创建站点地图,并将此问题的地址设置为站点地图的起始网址,然后单击“创建站点地图”以创建站点地图。

  

  9.png

  站点地图:站点地图的集合。所有创建的站点地图都会显示在这里,可以在此处输入站点地图进行修改、数据抓取等操作。

  

  10.png

  站点地图:输入一个站点地图,可以进行一系列的操作,如下图:

  

  11.png

  红框部分 Add new selector 是必不可少的一步。什么是选择器,字面意思是:选择器,一个选择器对应网页的一部分,也就是收录我们要采集的数据的部分。

  需要说明的是,一个站点地图可以有多个选择器,每个选择器可以收录子选择器,一个选择器只能对应一个标题,也可以对应整个区域,这个区域可能收录标题、副标题、作者信息、内容、等和其他信息。

  选择器:查看所有选择器。

  选择器图:查看当前站点地图的拓扑*敏*感*词*,什么是根节点,收录几个选择器,选择器下收录的子选择器。

  编辑元数据:您可以修改站点地图信息、标题和起始地址。

  Scrape:开始数据抓取工作。

  将数据导出为 CSV:以 CSV 格式导出捕获的数据。

  至此,简单的了解一下就可以了。真知灼见,具体操作案例令人信服。下面举几个例子来说明具体的用法。

  案例练习简单试水hao123

  从最简单到深入,我们以一个简单的例子作为入口,作为对Web Scraper服务的进一步了解

  需求背景:见下hao123页面红框部分。我们的需求是统计这部分区域的所有网站名称和链接地址,最后在Excel中生成。因为这部分内容已经足够简单了,当然真正的需求可能比这更复杂,而且人工统计这么几条数据的时间也很快。

  

  12.png

  开始运作

  1、 假设我们已经打开了hao123页面,并且打开了这个页面底部的开发者工具,并找到了Web Scraper标签栏;

  2、点击“创建站点地图”;

  

  13.png

  3、 输入sitemap名称和start url后,名称只是为了我们标记,所以命名为hao123(注意不支持中文),start url为hao123的url,然后点击create sitemap;

  

  14.png

  4、 之后,Web Scraper 会自动定位到这个站点地图,然后我们添加一个选择器,点击“添加新的选择器”;

  

  15.png

  5、首先给选择器分配一个id,它只是一个容易识别的名字。我把它命名为热这里。因为要获取名称和链接,所以将类型设置为链接。这种类型是专门为网页链接准备的。选择Link type后,会自动提取name和link这两个属性;

  

  16.png

  6、 然后点击select,然后我们在网页上移动光标,我们会发现光标的颜色会发生变化,变成绿色,表示这是我们当前选中的区域。我们将光标定位在需求中提到的那一栏的某个链接上,比如第一条头条新闻,点击这里,这部分会变成红色,表示已经被选中,我们的目的是选中有多个,所以选中后这个,继续选择第二个,我们会发现这一行的链接都变红了,没错,这就是我们想要的效果。然后点击“Done selection!”,最后别忘了勾选Multiple,表示要采集多条数据;

  

  17.png

  7、最后保存,保存选择器。单击元素预览可预览所选区域,单击数据预览可在浏览器中预览捕获的数据。下面文本框的内容对于懂技术的同学来说是很清楚的,这就是xpath,我们可以不用鼠标直接手写xpath;

  完整的操作流程如下:

  

  18.gif

  8、 完成上一步后,就可以真正导出了。别着急,看看其他操作。Sitemap hao123下的Selector图,可以看到拓扑图,_root是根选择器,创建一个站点地图会自动有一个_root节点,可以看到它的子选择器,也就是我们创建的热选择器;

  

  19.png

  9、刮,开始刮数据。

  10、在Sitemap hao123下浏览,可以直接通过浏览器查看抓取的最终结果,需要重新;

  

  20.png

  11、 最后使用Export data as CSV导出为CSV格式,其中hot列为标题,hot-href列为链接;

  

  21.png

  怎么样,试试看

  获取 知乎 问题的所有答案

  简要介绍结束。接下来,尝试一个有点困难的。抓取一个知乎问题的所有答案,包括回答者的昵称,批准数,以及答案的内容。问:为什么炫富的程序员这么少?

  知乎的特点是只有向下滚动页面才会加载下一个答案

  1、 首先在Chrome中打开这个链接,链接地址为:,调出开发者工具,找到Web Scraper标签栏;

  2、新建站点地图,填写站点地图名称和起始地址;

  22.png

  3、接下来开始添加选择器,点击添加新的选择器;

  4、我们先来分析一下知乎问题的结构。如图,一个问题由多个这样的区域组成,一个区域就是一个答案。这个答题区包括昵称、审批号、答题内容和发布时间等,红框部分就是我们要抓取的内容。因此,我们的数据抓取逻辑如下:从入口页面进入,获取当前页面已经加载的答案,找到一个答案区域,提取里面的昵称、审批号、答案内容,然后执行它依次。当加载区域获取完成后,模拟鼠标向下滚动,加载后续部分,循环直到全部加载完成;

  

  23.png

  5、 内容结构拓扑图如下,_root的根节点收录若干个回答区域,每个区域收录昵称、审批号、回答内容;

  

  24.png

  6、根据上面的拓扑图,开始创建选择器,选择器id填写为answer(可选),Type选择Element向下滚动。说明:Element是针对这种大面积的区域,这个区域也收录子元素,答案区域对应Element,因为我们需要从这个区域获取数据,Element向下滚动表示这个区域向下使用. 滚动方式可以加载更多,专为这种下拉加载而设计。

  

  25.png

  7、 接下来,单击选择,然后将鼠标移动到该页面。当绿色框包围答案区域时,单击鼠标,然后移动到下一个答案。同样,当绿色框收录一个答案区域时,单击鼠标。这时候除了这两个答案,所有的答案区域都变成了红框,然后点击“完成选择!”,最后不要忘记选择Multiple,然后保存;

  

  26.gif

  8、接下来点击红色区域进入刚刚创建的答案选择器,创建子选择器;

  

  27.png

  9、创建昵称选择器,设置id为name,Type为Text,Select选择昵称部分。如果您没有经验,您可能不会第一次选择昵称。如果发现错误,可以调整并保存;

  

  28.gif

  10、 创建一个审批号选择器;

  

  29.gif

  11、 创建内容选择器。由于内容已格式化且更长,因此有一个技巧。从以下选项中选择更方便;

  

  30.gif

  12、 进行Scrape操作,由于内容较大,可能需要几分钟的时间。如果是测试用的,可以找一个答案数量少的问题来测试。

  

  31.png资源获取

  获取的站点地图是一段json文本,通过新建站点地图下的导入站点地图,然后输入获取的站点地图json字符串,命名,然后点击导入按钮。

  

  32.png

  

  33.png

  最后,有什么问题可以直接在公众号留言或者回复

  点击查看文章

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线