如何将 rss 提要从"http://myname.disqus.com/latest.rss"带到我的 django 博客?



我想显示Disqus的最新3条评论,并将其链接到它们所属的帖子。我进行了一些研究,他们通常会解释如何创建RSS Feed,但我想获取RSS数据。当我打开此rss时,我会看到这样的XML:

<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>unicrow - Latest Comments</title>
<link rel="http://api.friendfeed.com/2008/03#sup" href="http://disqus.com/sup/all.sup#forumcomments-e63e6ca0" type="application/json" xmlns="http://www.w3.org/2005/Atom"/>
<link>http://unicrowblog.disqus.com/</link>
<description/>
<atom:link href="http://unicrowblog.disqus.com/comments.rss" rel="self"/>
<language>en</language>
<lastBuildDate>Thu, 01 Nov 2012 10:54:23 -0000</lastBuildDate>
<item>
<title>Re: http://box:8005/post/git-flow/</title>
<link>http://box:8005/post/git-flow/#comment-697865561</link>
<description>&lt;p>hjkgjfgtk&lt;/p></description>
<dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kripton1</dc:creator>
<pubDate>Thu, 01 Nov 2012 10:54:23 -0000</pubDate>
</item>
...
</channel>
</rss>

我想在我的Django项目中使用此XML。如何采用此XML RSS feed?

只是为了澄清,我以前没有这样做,但是我认为研究这种链接会有所帮助。您可以解析XML并为您的项目形成HTTPRESPONSE。希望这可以带领您进入正确的方向。

我找到了解决方案。我像那样做XML解析器

file = urllib2.urlopen('http://unicrowblog.disqus.com/latest.rss')
    data = file.read()
    file.close()
    dom = parseString(data)
    lists = []
    for i in range(1,4):
        xmlTag = dom.getElementsByTagName('description')[i].toxml()
        xmlData=xmlTag.replace('<description>&lt;p&gt;','').replace('&lt;/p&gt;</description>','')
        xmlDateTag = dom.getElementsByTagName('pubDate')[i].toxml()
        xmlDate=xmlDateTag.replace('<pubDate>','').replace('</pubDate>','')
        xmlLinkTag = dom.getElementsByTagName('link')[i+1].toxml()
        xmlLink=xmlLinkTag.replace('<link>','').replace('</link>','')
        data = {'xmlData':xmlData,'xmlDate':xmlDate,'xmlLink':xmlLink}
        lists.append(data)

我发表3个最新评论,然后在这样的模板中使用它:

{% for list in lists %}
    <li>
       <span>{{list.xmlData|slice:":80"}}...</span>
       <span>→ <a href="{{list.xmlLink}}">Devamı</a></span>
       <span class="time">{{list.xmlDate}}</span>
    </li>
{% endfor %}

使用此代码自动从disqus检索数据并显示

<div id="recentcomments" class="dsq-widget"><script type="text/javascript" src="http://YOURBLOG.disqus.com/recent_comments_widget.js?num_items=5&hide_avatars=1&avatar_size=50&excerpt_length=10"></script></div>

不要忘记提及您的博客名称代替 yourblog

最新更新