2012-03-23 24 views
1

我解析一個feed url並獲取文章內容。但是,當我嘗試將內容呈現給HttpResponse中的html頁面時,內容中的html元素或標記就像其他內容一樣呈現。在將其呈現給django模板之前,是否必須處理內容以顯示其中的html內容?如何在feedparser解析的feed文章中呈現django模板中的html內容

另外,如何獲取給定飼料的favicon並在django模板中呈現。

我是django和python的新手。我不知道如何做到這一點。

我正在使用feedparser來解析供稿網址。

我正在使用以下代碼從文章內容中獲取url列表。 NOw,我應該如何得到圖標網址,因爲在一些內容的圖標呈現爲.png格式,並且有幾個.png鏈接。如何區分哪一個是favicon?

import feedparser 
import lxml.html as lh 
import urllib2 

#Import Feed for Parsing 
d = feedparser.parse("http://www.popgadget.net/atom.xml") 

# Print feed name 
print d['feed']['title'] 

# Determine number of posts and set range maximum 
posts = len(d['entries']) 

# Collect Post URLs 
for post in d['entries']: 
    link=post['link'] 
    print('Parsing {0}'.format(link)) 
    doc=lh.parse(urllib2.urlopen(link)) 
    imgs=doc.xpath('//img[@class="bpImage"]') 
    for img in imgs: 
     print(img.attrib['src']) 

回答

3

我解析資訊提供的網址,並讓文章內容。但是,當我嘗試在HttpResponse中將內容呈現到html頁面時,內容中的HTML元素或標記將按原樣呈現,就像其餘的 內容一樣。在將其呈現給django模板之前,是否必須處理該內容以顯示其中的html ?

我認爲Django正在逃避feedparser抓取的HTML。原因是HTML可能包含惡意HTML並最終包含惡意標記。

如果您確實想顯示由feedparser提取的HTML,而不使用Django轉義,請使用|safe filter

此外,如何讓圖標爲一個給定的飼料,在Django模板渲染

  1. 下載的飼料,使用httplib

  2. 查找圖標或標識標籤的圖標url應該是標籤的內容,用lxml

  3. 用img顯示它在你的模板標記

+0

你可以詳細說明favicon或提供示例代碼? – Anshuma 2012-03-24 16:01:24

+0

你應該發佈你的代碼,我們將嘗試修復它,http://meta.stackexchange.com/questions/18584/how-to-ask-a-smart-question – jpic 2012-03-24 18:40:13

+0

我編輯了我的代碼查詢。請通過它,讓我知道如果我錯了。 @jpic – Anshuma 2012-03-29 04:40:28