繁体   English   中英

使用Django(Python)构建博客RSS源

[英]Building blogs RSS feeds using Django (Python)

作为标题,我正在尝试构建一个小型应用程序,它将聚合来自不同博客的RSS。 我试图测试并探索这个操作的feedparser,虽然我试图编写一个可以检测rss feed的代码。

大多数人只会输入www.mysite.com/blog,这不是RSS提要的URL。 如果我有办法检测RSS提要,我试图复制浏览器行为,它可以看到RSS URL。

有任何想法吗?

浏览器使用RSS提要自动发现Atom提要自动发现来查找给定网页上的提要。

例如, 问题列表可通过Atom订阅源获取,该订阅源链接在关联页面的HTML标题中:

<link rel="alternate" type="application/atom+xml" title="Feed of questions tagged python" href="/feeds/tag/python" />

您需要解析给定页面中的<link rel="alternate">标签以发现这些标签; 任何带有application/atom+xmlapplication/rss+xml类型的东西都适合。

使用像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文档

完全有一个很棒的应用程序,叫做Feedjack

但是当RSS源包含少于100个字符时,你会发现自己正在撞到墙上。

为了完全控制(完全聚合你需要的)和没有任何RSS源的网站,我会推荐Scrapy

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM