당신은 HTML 파일에 head
태그 피드를 찾아 주셔서 감사합니다. 여기에는 연관된 콘텐츠 형식과 해당 위치를 지정하는 href 특성이있는 link
태그로 지정해야합니다.
는이 같은 것을 사용할 수 파이썬을 사용하여 페이지에서 모든 피드 URL을 추출하려면 : 당신은 모든 기발한 방법에게 피드를 포함 할 경우 비록
import urllib
from HTMLParser import HTMLParser
class FeedParser(HTMLParser):
def __init__(self, *args, **kwargs):
self.feeds = set()
HTMLParser.__init__(self, *args, **kwargs)
def handle_starttag(self, tag, attrs):
if tag == 'link':
try:
href = [attr[1] for attr in attrs if attr[0] == 'href'][0]
except IndexError:
return None
else:
if ('type', 'application/atom+xml') in attrs or ('type', 'application/rss+xml') in attrs:
self.feeds.add(href)
def get_all_feeds_from_url(url):
f = urllib.urlopen(url)
contents = f.read()
f.close()
parser = FeedParser()
parser.feed(contents)
parser.close()
return list(parser.feeds)
이 코드는 상당히 확장되어야 할 것이다 HTML 페이지에 추가 할 수 있습니다.
미리보기 주셔서 감사합니다. 그러나 많은 페이지가 표준 장소를 사용하지 않으며 아마도 기발한 방식을 사용합니다. 예 : [oracle] (http://www.oracle.com/us/index.html) 웹 페이지를 방문하십시오. "기발한 방법"이 자주 사용되는 것을 알 수 있습니까? – xralf
죄송하지만 RSS 피드를 나열하는 방법은 매우 표준적인 방법이 아닙니다. 이들을 프로그래밍 방식으로 찾는 유일한 방법은 전체 웹 페이지를 크롤링하는 것입니다 (즉, 모든 하이퍼 링크를 살펴보고 RSS 피드 : 컬렉션에 추가, html : 모든 하이퍼 링크를 선택하고 반복) – gurglet
어떻게 링크가 있는지 확인할 수 있습니까? 실제로 채널? (원자 또는 RSS 또는 다른 것) – xralf