gpt4 book ai didi

javascript - 从网页中提取提要

转载 作者:行者123 更新时间:2023-11-28 23:04:24 24 4
gpt4 key购买 nike

我正在寻找一个代码片段(语言在这里并不重要)提取与此页面关联的所有提要(RSS、atom 等)。

所以输入是URL,输出是list of channels

重要的是完整性,即页面是否关联了一些信息 channel 应该能找到。

我最好询问在 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 页面的所有古怪方式,则必须扩展此代码。

关于javascript - 从网页中提取提要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7607066/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com