抓取网页数据工具(最简单的数据抓取教程,人人都用得上(组图))
优采云 发布时间: 2021-09-14 11:18抓取网页数据工具(最简单的数据抓取教程,人人都用得上(组图))
最简单的数据采集教程,人人都可以使用
Web Scraper 是一款面向普通用户(无需专业 IT 技术)的免费爬虫工具,通过鼠标和简单的配置,您可以轻松获取您想要的数据。例如知乎答案列表、微博热点、微博评论、电商网站产品信息、博客文章list等
安装过程
在线安装需要 FQ 网络和 Chrome App Store 访问权限
1、 在线访问 Web Scraper 插件并点击“添加到 CHROME”。
1.png
2、 并在弹出框中点击“添加扩展”
2.png
3、 安装完成后,顶部工具栏会显示 Web Scraper 图标。
3.png
如果不能FQ,可以使用本地FQ方法。在此公众号回复“爬虫”,即可下载Chrome和Web Scraper扩展程序。
1、打开Chrome,在地址栏中输入chrome://extensions/,进入扩展管理界面,然后将下载的扩展Web-Scraper_v0.3.7.crx拖放到这里页面,点击“添加到扩展”完成安装。如图:
4.gif
2、 安装完成后,顶部工具栏会显示 Web Scraper 图标。
3.png
初识网络爬虫开启网络爬虫
开发者可以路过看看后面
windows系统下可以使用快捷键F12,部分笔记本机型需要按Fn+F12;
Mac系统下可以使用快捷键command+option+i;
也可以直接在Chrome界面操作,点击设置—>更多工具—>开发者工具
5.png
打开后的效果如下,绿框部分是开发者工具的完整界面,红框部分是Web Scraper区域,是我们后面要操作的部分。
6.png
注意:如果在浏览器右侧区域打开开发者工具,需要将开发者工具的位置调整到浏览器底部。
7.gif
原理及功能说明
数据爬取的思路大致可以概括如下:
1、通过一个或多个入口地址获取初始数据。比如文章列表页面,或者有一定规则的页面,比如带分页的列表页面;
2、根据入口页面的一些信息,比如链接点,进入下一页获取必要的信息;
3、根据上一层的链接继续下一层,获取必要的信息(这一步可以无限循环);
原理大致相同。接下来,让我们正式认识一下Web Scraper工具。来吧,打开开发者工具,点击Web Scraper标签,看到分为三部分:
8.png
新建站点地图:首先了解站点地图,字面意思是网站Map,这里可以理解为入口地址,可以理解为对应一个网站,对应一个需求,假设你想得到一个问题在知乎上回答,创建一个站点地图,并将这个问题的地址设置为站点地图的起始地址,然后点击“创建站点地图”来创建站点地图。
9.png
站点地图:站点地图的集合。所有创建的站点地图都会显示在这里,可以在此处输入站点地图进行修改、数据抓取等操作。
10.png
站点地图:进入某个站点地图,可以进行一系列的操作,如下图:
11.png
在红框中添加新的选择器是必不可少的一步。什么是选择器,字面意思是:选择器,一个选择器对应网页的一部分,也就是收录我们要采集的数据的部分。
我需要解释一下。一个站点地图下可以有多个选择器,每个选择器可以收录子选择器。一个选择器可以只对应一个标题,也可以对应整个区域。该区域可能收录标题、副标题和作者信息、内容等。
选择器:查看所有选择器。
选择器图:查看当前站点地图的拓扑*敏*感*词*,根节点是什么,几个选择器,选择器下收录的子选择器。
编辑元数据:您可以修改站点地图信息、标题和起始地址。
Scrape:开始数据抓取。
Export data as 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、然后点击选择,然后我们在网页上移动光标,我们会发现光标的颜色会发生变化,变成绿色,表示这是我们当前选择的区域。我们将光标定位在需求中提到的那一栏的某个链接上,比如第一条头条新闻,点击这里,这部分会变成红色,表示已经被选中,我们的目的是选中有多个,所以选中之后这个,继续选择第二个,我们会发现这一行的链接都变红了,没错,这就是我们想要的效果。然后点击“完成选择!” (数据预览是被选中元素的标识符,可以手动修改。元素由类和元素名称决定,如:div.p_name a)。最后别忘了勾选Multiple,即采集多条数据;
17.png
7、 最后保存,保存选择器。单击元素预览可预览所选区域,单击数据预览可在浏览器中预览捕获的数据。后面的文本框里面的内容对于懂技术的同学来说是很清楚的。这是xpath。我们可以不用鼠标直接手写xpath;
完整的操作流程如下:
18.gif
8、完成上一步后,就可以实际导出了。别着急,看看其他操作。 Sitemap hao123下的Selector图可以看到拓扑图。 _root 是根选择器。创建站点地图时,会自动出现一个_root节点,可以看到它的子选择器,也就是我们创建的热选择器;
19.png
9、Scrape,开始抓取数据。
在10、Sitemap hao123下浏览,可以直接通过浏览器查看爬取的最终结果,需要重新;
20.png
11、最后使用Export data as CSV导出为CSV格式,其中hot列为标题,hot-href列为链接;
21.png
怎么样,现在试试
获取知乎questions 的所有答案
简单介绍完毕。接下来,尝试一个有点难度的,抓取知乎问题的所有答案,包括回答者的昵称,批准数,以及答案的内容。问:为什么炫富的程序员这么少?
知乎的特点是只有向下滚动页面才会加载下一个答案
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、 执行刮取操作。由于内容较多,可能需要几分钟。如果是测试用的,可以找一个答案少的问题来测试。
31.png