爬网

时间:2009-04-07 23:39:09

标签: nlp web-crawler information-retrieval text-mining

我想抓取特定的东西。特别是音乐会,电影,艺术画廊等等正在发生的事件。任何可能花时间去的东西。

如何实施抓取工具?

我听说过Grub(grub.org - > Wikia)和Heritix(http://crawler.archive.org/

还有其他人吗?

每个人都有什么意见?

-Jason

10 个答案:

答案 0 :(得分:10)

该主题的优秀介绍性文字是Introduction to Information Retrieval(在线提供全文)。它有一章关于Web crawling,但也许更重要的是,它为你想要对已爬行文档做的事情提供了基础。

Introduction to Information Retrieval
(来源:stanford.edu

答案 1 :(得分:8)

有一本关于我可以推荐的名为Webbots, Spiders, and Screen Scrapers: A Guide to Developing Internet Agents with PHP/CURL的主题的好书。

答案 2 :(得分:5)

无论你做什么,请成为一个好公民并遵守robots.txt档案。您可能想查看focused crawlers上维基百科页面上的引用。刚认识到我认识Topical Web Crawlers: Evaluating Adaptive Algorithms的作者之一。小世界。

答案 3 :(得分:4)

结帐Scrapy。它是一个用Python编写的开源Web爬行框架(我听说它类似于Django,除了代替它下载它们的服务页面)。它易于扩展,分布式/并行,看起来非常有前途。

我会使用Scrapy,因为这样我可以节省我的优势,比如如何从抓取的内容中提取正确的数据并插入到数据库中这些更简单的事情。

答案 4 :(得分:3)

我认为webcrawler部分将是任务中最简单的部分。困难的部分是决定访问哪些网站以及如何发现您要访问的网站上的活动。您可能希望看到使用GoogleYahoo API来获取所需的数据。他们已经完成了在互联网上抓取大量页面的工作 - 无论如何,你可以专注于我更加难以理解的筛选数据来获取你正在寻找的事件的问题。

答案 5 :(得分:2)

实际上编写一个缩放定向爬虫是一项非常具有挑战性的任务。我在工作中实施了一个并维持了一段时间。在你写一个并遇到问题之前,有很多你不知道存在的问题。专门处理CDN和友好的网站爬行。自适应算法非常重要,否则您将跳过DOS过滤器。实际上,如果你的爬行足够大,你无论如何都会知道它。

要考虑的事情:

  • 除吞吐量之外还有什么?
  • 您如何处理网站中断?
  • 如果被阻止会怎样?
  • 您是否想进行隐形爬行(对抗并且实际上很难做到正确)?

我实际上已经写了一些内容,如果我能够解决这个问题,我可能会在网上介绍爬虫的构造,因为建造一个合适的爬虫会比人们告诉你的要困难得多。大多数开源爬虫对大多数人来说效果都不错,所以如果你能推荐你使用其中一个。哪一个是功能/平台选择。

答案 6 :(得分:1)

如果您发现抓取互联网变得难以执行任务,您可能需要考虑构建RSS aggregator并订阅热门活动网站(如craigslist和coming.org)的RSS Feed。

这些网站中的每一个都提供本地化的可搜索事件。 RSS为您提供(少数)标准化格式,而不是必须使用组成网络的所有格式错误的HTML ...

有像ROME(java)这样的开源库可以帮助消费RSS提要。

答案 7 :(得分:0)

是否有特定于语言的要求?

我花了一些时间和Chilkat Spider Lib一起玩.net一段时间用于个人实验,

最后我检查了蜘蛛Libs,被许可为免费软件, (据我所知,Altho不是开源的:()

似乎他们有python Lib的。

http://www.example-code.com/python/pythonspider.asp #Python http://www.example-code.com/csharp/spider.asp#.Net

答案 8 :(得分:0)

根据Kevin's建议使用RSS Feed,您可能需要查看Yahoo pipes。我还没有尝试过,但我认为它们允许您处理多个RSS源并生成网页或更多RSS源。

答案 9 :(得分:0)