2010-08-09 59 views
2

我有一個必須處理的URL列表,結果應該只是該列表中的RSS源URLS。要查找給定的URL是否爲RSS源URL

如何識別給定鏈接是否爲RSS Feed URL。

我需要在Java中建立程序和爲我們的知識,是一個Java初學者。

請給我簡單的建議。提前致謝。

+0

任何人都可以幫我解決上述問題.. 急需解決方案:( – LGAP 2010-08-09 15:47:56

回答

3

有一些事情你可以試試,把我的頭頂部:

  1. 看到什麼Content-Type指定網址的服務器返回。但是,這可能不是確定性的,服務器可能不一定會返回正確的標題。
  2. 嘗試將RSS的內容解析爲RSS並查看它是否成功 - 這可能是給定URL是RSS源的唯一明確證據。
1

只給出URL,沒有辦法100%確定。 RSS文件通常是.xml,但不是(據我所知)需要具有該後綴。如果您只是基於「.xml」進行分類,您會犯很多錯誤 - 將很多非RSS文件分類爲RSS,並將一些RSS文件分類爲非RSS。

要真正確定,您需要在指定的URL中真正獲取文件並對其進行解析。你應該找一個庫來做到這一點,因爲你自己解析它可能是一場噩夢。這個庫看起來是合理的:http://www.davidpashley.com/projects/eddie.html您可以加載每個URL的內容,將它傳遞給庫,並且如果庫成功解析它,則將其標記爲RSS或Atom提要。您可能會有錯誤的消極處理,但與僅基於URL進行分類相比,它們的使用頻率會更低。

如果你關心的是RSS並且性能是一個問題(即你不想爲每個文件啓動一個SAX解析器),你可以閱讀RSS規範(http://cyber.law.harvard.edu/rss/rss.html),並且只是做一些簡單的字符串搜索廣泛的文件,看起來可能是RSS文件。你會有更多的誤報(可能會有一些誤報),但速度會更快。這一切都取決於你想花多少時間在這方面,以及你有多確定需要。但要準確無誤,你需要下載每個文件來檢查它。

1

RSS文檔是一個XML文件。 XML文件的格式在RSS Specification中給出。您可以使用Java中的XML解析器來讀取和創建RSS源。
這裏的教程可能有所幫助:RSS feeds with Java