Фиды можно найти в теге head
в HTML-файлах.Там они должны быть указаны как link
теги со связанным типом контента и атрибутом href, указывающим его местоположение.
Чтобы извлечь все URL фидов со страницы, используя python, вы можете использовать что-то вроде этого:
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-страницу.