2012-03-23 7 views
1

フィードURLを解析して記事の内容を取得しています。しかし、私はHttpResponseのhtmlページにコンテンツをレンダリングしようとすると、コンテンツのhtml要素やタグはそのまま残り、コンテンツのようにレンダリングされます。私はdjangoテンプレートにレンダリングする前に、HTMLの内容を表示するためにコンテンツを処理する必要がありますか?フィードパーザで解析されたフィード記事からdjangoテンプレートのhtmlコンテンツをレンダリングする方法

また、特定のフィードのfaviconを取得し、djangoテンプレートでレンダリングする方法もあります。

私はdjangoとpythonの初心者です。私はこれをどうやって行うのか分かりません。

私はフィードURLを解析するためにフィードパーサーを使用しています。

次のコードを使用して、記事のコンテンツからURLリストを取得しています。 今、faviconのURLはどのように取得する必要がありますか?いくつかのコンテンツのfaviconは.png形式でレンダリングされ、いくつかの.pngリンクがあるからです。どちらがファビコンであるかを区別する方法は?

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

私は、フィードのURLを解析し、記事の内容を取得しています。しかし、私が HttpResponseのhtmlページにコンテンツをレンダリングしようとすると、コンテンツ内のhtmlの 要素またはタグが残りの のようにレンダリングされます。 djangoテンプレートにレンダリングする前にhtmlの の内容を表示するためにコンテンツを処理する必要がありますか?

私は、Djangoがフィードパーサーによって取り込まれたHTMLをエスケープしていると思います。これは、HTMLに悪意のあるHTMLや悪意のあるタグが含まれている可能性があるためです。

|safe filterを使用して、DjangoエスケープなしでfeedparserによってフェッチされたHTMLを実際に表示したい場合は、

Djangoテンプレート内の指定された飼料用のファビコンを取得し、レンダリングするための方法また

  1. httplib

  2. 、ファビコンをアイコンやロゴのタグを検索を使用して、フィードをダウンロードurlはタグの内容である必要があります。lxml

  3. imgテンプレート内のタグ

+0

faviconで詳細を説明したり、サンプルコードを提供したりできますか? – Anshuma

+0

コードを投稿してください。私たちはそれを修正しようとします。http://meta.stackexchange.com/questions/18584/how-to-ask-a-smart-question – jpic

+0

私のコードを編集しました。 Plsはそれを通過し、私が間違っている場合私に知らせる。 @jpic – Anshuma

関連する問題