如标题所示,我正在尝试构建一个小型应用程序,用于聚合来自不同博客的 RSS。我正在尝试测试并探索此操作的 feedparser,但在尝试编写可以检测 rss 提要的代码时却被卡住了。
大多数人只会输入 www.mysite.com/blog,这并不完全是 RSS 提要的 URL。如果有办法让我检测到 RSS 提要,我会尝试复制可以看到 RSS URL 的浏览器行为。
有任何想法吗?
使用BeautifulSoup之类的东西来解析 HTML 文档并查找 RSS 提要。以下是一个基本示例,不一定是最有效的:
from bs4 import BeautifulSoup
soup = BeautifulSoup(html_doc)
rss_links = soup.select('link[type="application/rss+xml"]')
for link in rss_links:
rss_url = link.get('href')
请参阅完整的BeautifulSoup 文档。
浏览器使用RSS 提要自动发现和Atom 提要自动发现来查找给定网页上的提要。
例如,django问题列表可通过 Atom 提要获得,该提要在相关页面的 HTML 标头中链接:
<link rel="alternate" type="application/atom+xml" title="Feed of questions tagged python" href="/feeds/tag/python" />
您需要解析<link rel="alternate">
给定页面中的标签才能发现这些标签;任何带有application/atom+xml
或application/rss+xml
类型的东西都适合。