履带式与刮板式
Posted
技术标签:
【中文标题】履带式与刮板式【英文标题】:crawler vs scraper 【发布时间】:2011-03-13 13:17:20 【问题描述】:有人可以根据范围和功能区分爬虫和抓取工具吗?
【问题讨论】:
这些术语没有精确的定义。有使用示例吗? 我想编写一个应用程序,它根据一些基于 xpath 的规则(遵循特定的超链接)遍历网站,然后从一些叶页面中提取数据。所以它包括爬取和抓取。我需要为这两个步骤找到最好的工具。 很多平台都非常擅长下载网页并应用正则表达式来提取链接或抓取的值。使用你所知道的。 另见:***.com/questions/4327392/crawling-vs-web-scraping 【参考方案1】:爬虫获取网页——即,给定一个起始地址(或一组起始地址)和一些条件(例如,要深入多少链接,要忽略的文件类型),它会从起点。
抓取工具获取已下载的页面,或者更一般意义上的格式化显示数据,并(尝试)从这些页面中提取数据,以便(例如)将其存储在数据库中并根据需要进行操作。
根据您使用结果的方式,抓取可能会侵犯信息所有者的权利和/或有关网站使用的用户协议(在某些情况下,抓取也违反了后者)。许多站点在其根目录中包含一个名为 robots.txt 的文件(即具有 URL http://server/robots.txt
),以指定爬虫程序应如何(以及是否)处理该站点 - 特别是,它可以列出爬虫程序不应的(部分)URL尝试访问。如果需要,可以为每个爬虫(用户代理)单独指定这些。
【讨论】:
【参考方案2】:爬虫通过链接浏览网页。一个例子是获取页面索引的谷歌机器人。爬虫从表单中提取值,但不一定与网络有任何关系。
【讨论】:
爬虫从 html 中提取值,不一定是表单。 抓取工具从屏幕中提取价值,不一定是 HTML。例如,我曾经使用刮板从旧的大型机表单中提取值。 我不能给 Google 免费通行证。谷歌是一个爬虫,是的,但它也是一个爬虫。他们如何在搜索结果中显示元描述?标题?帖子的日期?它们是终极爬虫和刮刀。【参考方案3】:网络爬虫在逻辑中获取链接(Urls - 页面),scraper 从 HTML 中获取值(提取)。
有很多网络爬虫工具。 Visit page 看一些。任何 XML - HTML 解析器都可以用来从抓取的页面中提取(scrape)数据。 (我推荐Jsoup解析和提取数据)
【讨论】:
【参考方案4】:一般来说,爬虫会跟随链接到达众多页面,而爬虫在某种意义上只是拉取在线显示的内容,不会到达更深层次的链接。
最典型的爬虫是 google bots,它会跟随链接到达你网站上的所有网页,如果他们觉得有用,就会索引内容(这就是为什么你需要 robots.txt 来告诉你哪些内容你不知道想要被索引)。所以我们可以在它的网站上搜索这样的内容。而刮板的目的只是为了个人使用而拉取内容,不会对其他人产生太大影响。
但是,现在爬虫和爬虫没有明显区别,因为一些自动网络爬取工具还允许您通过跟踪链接来爬取网站,例如 Octoparse 和 import.io。它们不像google bots那样的爬虫,但它们能够自动爬取网站以获取大量数据,而无需编码。
【讨论】:
【参考方案5】:爬虫和爬虫并不总是能区分,我的意思是 - 你可以找到爬虫,事实上,Scraper Crawler 正在做这两者并相应地命名:
它会抓取一个 URL,即索引该主 URL 中的所有 URL 抓取深度是索引在 URL 树中的深度 然后它会抓取您在正则表达式中定义的任何内容【讨论】:
【参考方案6】:我知道这个问题已经很老了,但无论如何我都会为在这里想知道的新人做出回应。
据我所知,这两个术语由于相似性而经常相互混淆,人们经常将它们称为同一事物。
但是,它们并不完全相同。爬虫(或蜘蛛)将跟踪它从起始页爬取的页面中的每个链接。这就是为什么它也被称为蜘蛛机器人,因为它会创建一种蜘蛛网的页面。
爬虫会从页面中提取数据,通常是从使用爬虫下载的页面中。
如果您对其中任何一个感兴趣,可以试试Norconex HTTP Collector。
【讨论】:
以上是关于履带式与刮板式的主要内容,如果未能解决你的问题,请参考以下文章