3

フィードの URL を解析してコンテンツを取得しています。特定のフィードのファビコンを取得し、django テンプレートでレンダリングする方法を知りたいです。

私はdjangoとpythonの初心者です。これを行う方法がわかりません。

フィードの URL を解析するために feedparser を使用しています。

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

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'])
4

2 に答える 2

2

HTML ドキュメントから favicon を取得するか、サーバーで /favicon.ico を探すことができます。コードは次のとおりです。

import lxml.html as lh
import urllib2

link = 'http://www.popgadget.net/'
doc = lh.parse(urllib2.urlopen(link))
favicons = doc.xpath('//link[@rel="shortcut icon"]/@href')
if len(favicons) > 0:
    favicon = favicons[0]
else:
    favicon = "%sfavicon.ico" % link
try:
    urllib2.urlopen(favicon)
except urllib2.HTTPError:
    favicon = None
于 2012-04-11T07:05:05.650 に答える
2

Web サイトのインデックス ページに移動し、HTML を読み取って解析し、 of のlink付いたタグを確認する必要があります。それができない場合は、サーバー上で見てください。rel"shortcut icon"/favicon.ico

于 2012-04-11T05:54:56.313 に答える