簡體   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