2010-07-08 83 views
42

有人可以根据范围和功能区分爬虫和刮板。爬虫vs刮板

+2

这些术语没有准确的定义。你有使用例子吗? – 2010-07-08 19:57:24

+0

我想编写一个应用程序,它基于一些基于xpath的规则(遵循特定的超链接)遍历网站,然后从一些叶页中提取数据。所以它包括爬行和抓取。我需要为这两个步骤找出最好的工具。 – Nayn 2010-07-08 20:09:37

+0

许多平台都非常适合下载网页并应用RegExp来提取链接或刮取值。使用你所知道的。 – 2010-07-08 20:17:40

回答

62

爬虫获取网页 - 即给定一个起始地址(或一组起始地址)和一些条件(例如,要深入多少链接,要忽略的文件类型),它会下载链接到的任何内容起点。

一个刮取器会获取已下载的页面[编辑:或者,更一般的意义上,是用于显示的格式化的数据],以及(尝试)从这些页面提取数据,以便它可以(例如)存储在数据库中并根据需要进行操作。

根据您使用结果的方式,抓取可能会侵犯信息所有者和/或使用网站的用户协议的权利(爬行在某些情况下也违反后者)。编辑:正如Steven Sudit所提到的,许多网站在其根目录中包含一个名为robots.txt的文件(即具有网址http://server/robots.txt)来指定抓取工具应如何处理该网站 - 特别是它可以列出(部分)网址一个爬虫不应该试图访问。如果需要,可以根据搜寻器(用户代理)单独指定。

+7

我们应该提及robots.txt文件,它告诉抓取工具在哪里抓取。 – 2010-07-08 20:09:08

+0

+1用于添加robots.txt信息。 – 2010-07-08 20:24:57

+0

@Steven:糟糕 - 我很抱歉拼错你的名字。 – 2010-07-08 20:44:30

3

爬行者在网上冲浪,跟随链接。一个例子是Google机器人获取页面索引。刮板从表格中提取价值,但不一定与网络有任何关系。

+4

刮板从HTML中提取值,不一定是表格。 – 2010-07-08 20:00:21

+3

刮板从画面中提取价值,而不一定是HTML。例如,我曾经使用刮板从旧的大型机表格中提取值。 – 2010-07-08 20:02:22

+4

我无法给Google免费通行证。谷歌是一个爬虫,是的,但也是一个刮板。他们还有什么元描述显示在搜索结果中?标题?帖子的日期?他们是最终的爬虫和刮板。 – 2012-11-30 23:18:42

3

Web爬虫在逻辑中获取链接(Url - Pages),并且刮板从HTML获取值(提取)。

有这么多的网络爬虫工具。 Visit page看到一些。任何XML-HTML解析器都可以用来从抓取的页面提取(报废)数据。 (我建议使用Jsoup来解析和提取数据)

0

通常,抓取工具会沿着链接到达大量页面,而铲除工具在某种意义上只是拉动在线显示的内容,并且不会到达更深的链接。

最典型的抓取工具是谷歌机器人,它会遵循链接到达您网站上的所有网页,并且如果他们发现它有用就会索引内容(这就是为什么您需要robots.txt来告诉您所做的内容不想被索引)。所以我们可以在其网站上搜索这样的内容。虽然刮刀的目的只是为了个人使用而将内容拉出来,并且不会对其他人造成太大影响。

但是,现在抓取工具和抓取工具没有明显的区别,因为一些自动抓取工具还允许您通过链接(如Octoparse和import.io)抓取网站。他们不是像谷歌漫游器那样的抓取工具,但他们能够自动抓取网站,无需编码即可获取大量数据。