2013-08-03 39 views
1

我想顯示從使用一個方便的包含標籤我在這個片段中找到了我的Django的基於網站的外部RSS提要內容:djangosnippets.org/snippets/311/Feedparser給出的SAXParseException上「有效」 RSS

然而,feedparser在討論的rss提要(http://softplc.com/blog/blogs/xmlsrv/rss2.php?blog=2)上窒息,它在在線rss查看器(www.seekfreak.com/rss/)中工作得很好,並且被feedvalidator.org

收到的錯誤是:SAXParseException('開始和結束標記不匹配:meta line 7和head \ n',)

......這是有道理的,除了該源中的XML沒有元標記。它看起來像feedparser試圖從softplc.com/blog/blogs/讀取html而不是完整的rss鏈接或什麼? (即使那樣我也沒有看到引用標記不匹配)

那麼,feedparser是什麼?

+0

嘗試直接使用相同的東西 - len(feedparser.parse('http://softplc.com/blog/blogs/xmlsrv/rss2.php?blog=2'))'給出9,並且沒有錯誤。你有錯誤的URL或任何類型的HTTP代理? – Joe

+0

三重檢查的URL。沒有代理。解析返回的內容有一個「len」,但是從我所能看到的內容來看,它是一大堆垃圾。在一堆咕嚕聲的最後,有一點關於bozo_exception。無法訪問任何類似['entries']的返回值,並且len(feed ['entries'])'爲0(顯然)。 – hbeck

+0

'len(f ['entries'])== 10',使用[FeedParser](https://code.google.com/p/feedparser/)5.1.3。 – Joe

回答

0

與wget檢查了一下,whaddya知道但我試圖從錯誤的服務器獲取內容。長話短說,有一個/etc/hosts條目將有問題的域映射到「不工作」框的外部IP--刪除這個和所有的都很好。

藉口:有問題的盒子正在作爲現有網站的替代品,所以它最終會真正成爲正確的域名(現在還沒有)。

@Joe - 感謝您的理智檢查,看到它在別處工作導致修復!

單詞到(不)明智的:檢查你的網絡的東西!

Feedparser,對不起,我懷疑你了!