抓取网页数据工具(最简单的数据抓取教程,人人都用得上(组图))
优采云 发布时间: 2021-10-20 19:38抓取网页数据工具(最简单的数据抓取教程,人人都用得上(组图))
最简单的数据采集教程,大家都可以用
Web Scraper是一款适合普通用户(不需要专业IT技术)的免费爬虫工具,通过鼠标和简单的配置即可轻松获取你想要的数据。例如知乎回答列表、微博热点、微博评论、电商网站产品信息、博客文章列表等。
安装过程
在线安装需要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
创建新的站点地图:首先了解站点地图,字面意思是网站地图,这里可以理解为入口地址,可以理解为对应一个网站,对应一个需求,假设你要获取知乎 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,然后我们在网页上移动光标,我们会发现光标的颜色会发生变化,变成绿色,表示这是我们当前选中的区域。我们将光标定位在需求中提到的那一栏的某个链接上,比如第一条头条新闻,点击这里,这部分会变成红色,表示已经被选中,我们的目的是选中的有很多,所以选中之后这个,继续选择第二个。我们会发现这一行的链接都变成了红色。没错,这就是我们想要的效果。然后点击“完成选择!” (数据预览是被选中元素的标识符,可以手动修改。元素由类和元素名称决定,如:div.p_name a)。最后,不要
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
怎么样,试试看
获取 知乎 问题的所有答案
简要介绍结束。接下来,尝试一个有点困难的。抓取一个知乎问题的所有答案,包括回答者的昵称,批准数,以及答案的内容。问:为什么炫富的程序员这么少?
知乎 的特点是只有向下滚动页面才会加载下一个答案
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