2009-04-07 51 views
12

我想抓取特定的東西。特別是像音樂會,電影,藝術畫廊開幕式等等發生的事件。任何人都可能花費時間去做。抓取Internet

如何實現爬網程序?

聽說蠐螬(grub.org - >維基)和Heritix(http://crawler.archive.org/

是別人嗎?

每個人都有什麼意見?

-Jason

回答

3

我認爲webcrawler部分將是該任務中最簡單的部分。困難的部分將決定哪些網站訪問,以及如何發現您想要訪問的網站上的事件。也許你想看看如何使用GoogleYahoo API來獲得你想要的數據。他們已經完成了在互聯網上搜索大量頁面的工作 - 無論如何,您可以專注於篩選數據以獲得您要查找的事件這一更爲棘手的問題。

1

如果您發現爬行互聯網變成了一項任務,您可能需要考慮構建RSS aggregator並訂閱受歡迎的活動網站(如craigslist和coming.org)的RSS訂閱源。

這些網站都提供本地化的可搜索事件。 RSS爲您提供了一些(少數)標準化格式,而不必擁有構成網絡的所有格式錯誤的html ...

有一些開源庫,如ROME(java),可能有助於RSS提要的消耗。

0

以下Kevin's對RSS提要的建議,您可能想要查看Yahoo pipes。我還沒有嘗試過,但我認爲它們允許您處理多個RSS訂閱源並生成網頁或更多RSS訂閱源。

+1

絕對不要使用管道。這不是非常可靠和非常緩慢。 – mixdev 2010-06-17 10:48:46

4

退房Scrapy。這是一個用Python編寫的開源Web爬蟲框架(我聽說它與Django類似,除了它提供下載它們的頁面)。它易於擴展,分佈式/並行,看起來非常有前途。

我會使用Scrapy,因爲這樣我就可以節省我的優勢,用於更瑣碎的事情,比如如何從刮掉的內容中提取正確的數據等並插入到數據庫中。

2

實際編寫的比例定向爬蟲是一個相當艱鉅的任務。我在工作中實施了一個並保持了很長一段時間。除非你寫出一個問題並解決問題,否則你不知道存在很多問題。具體處理CDN和友好的網站爬行。自適應算法非常重要,否則您將跳閘DOS過濾器。其實你無論如何都不知道它是否足夠大。

事情要考慮:

  • 什麼是除了能夠吞吐量?
  • 你如何處理網站中斷?
  • 如果你被封鎖會發生什麼?
  • 你想搞隱形爬行(contreversial,實際上很難得到正確的)?

實際上,我寫了一些東西,如果我能解決它,我可能會在網上提供有關履帶式建築的信息,因爲建造一個合適的建築比人們告訴你要困難得多。大多數開源爬蟲對大多數人來說工作得很好,所以如果你能,我建議你使用其中的一種。哪一個是功能/平臺選擇。