Javascript 从网页中提取提要
我正在寻找一个代码片段(语言在这里并不重要),它将 提取与此页面关联的所有提要(RSS、atom等) 因此,输入是Javascript 从网页中提取提要,javascript,python,rss,feed,text-extraction,Javascript,Python,Rss,Feed,Text Extraction,我正在寻找一个代码片段(语言在这里并不重要),它将 提取与此页面关联的所有提要(RSS、atom等) 因此,输入是URL,输出是频道列表 重要的是完整性,这意味着页面是否关联了某些信息通道 应该找到它 我最好是问在HTML代码中可以找到什么,在哪里可以找到完整性 谢谢您可以在html文件的head标记中找到提要。在那里,它们应该被指定为link标记,并带有相关的内容类型和指定其位置的href属性 要使用python从页面中提取所有提要URL,可以使用以下方法: import urllib fro
URL
,输出是频道列表
重要的是完整性,这意味着页面是否关联了某些信息通道
应该找到它
我最好是问在HTML代码中可以找到什么,在哪里可以找到完整性
谢谢您可以在html文件的
head
标记中找到提要。在那里,它们应该被指定为link
标记,并带有相关的内容类型和指定其位置的href属性
要使用python从页面中提取所有提要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页面的所有奇怪方式,则必须对这段代码进行大量扩展。谢谢您提供的代码片段,但许多页面不使用标准位置,可能会使用奇怪的方式。例如,查看网页。你能找出什么“古怪的方式”经常被使用吗?对不起,他们列出RSS提要的方式非常不标准。以编程方式查找它们的唯一方法是对它们的整个网页进行爬网(即浏览它们的所有超链接并检查:如果RSS提要:添加到集合,如果html:检查所有超链接并重复),我是否可以检查链接是否真的是一个频道?(atom或RSS或其他内容)