爬网

问题描述 投票:12回答:10

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

如何实现爬虫?

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

还有其他人吗?

每个人都有什么意见?

-Jason

nlp web-crawler information-retrieval text-mining
10个回答
10
投票

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

Introduction to Information Retrieval (来源:stanford.edu


0
投票

8
投票

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


5
投票

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


4
投票

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

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


3
投票

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


2
投票

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

需要考虑的事情:

  • 什么是能够吞吐量?
  • 你如何处理网站中断?
  • 如果你被阻止会怎么样?
  • 你想进行隐形爬行(有争议,实际上很难做对)?

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


1
投票

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

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

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


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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.