获取完全相同的rss表单

2024-07-07 06:30:02 发布

您现在位置:Python中文网/ 问答频道 /正文

让我直截了当地说,我想让读者的web应用程序像google阅读器、feedly等。。。因此,我尝试使用feedparser库通过python获取rss。问题是所有网站的rss格式不一样,我是说有些网站没有标题,有些没有rss发布日期。但是,我发现digg.com/readerdigg的读者是否也能获得带有发布日期和标题的rss,我想知道这件事是怎么工作的?任何人得到线索或任何帮助都会很感激的


Tags: comweb应用程序标题网站格式googlerss
2条回答

我最近用feed解析器库做了一些项目,由于许多rss提要是不同的,这可能会非常令人沮丧。对我来说最有效的是这样的: 在

#to get posts from hackaday.com
import feedparser
feed = feedparser.parse("http://www.hackaday.com/blog/feed/") #get feed from hackaday
feed = feed['items'] #Get items in feed (this is the best way I've found)
print feed[0]['title'] #print post title
print feed[0]['summary'] #print post summary
print feed[0]['published'] #print date published

这些只是feed解析器拥有的几个不同的“字段”。要找到所需的命令,只需在pythonshell中运行这些命令,看看哪些命令适合您的需要。在

您可以使用feedparser来知道一个网站是否有atom或rss,然后分别处理它们类型。如果网站没有发布日期或标题,您可以使用其他库(如goose extractor)提取它们(例如:

from newspaper import Article
import feedparser

def extract_date(url):
    article = Article(url)
    article.download()
    article.parse()
    date=article.publish_date
    return date

d=feedparser.parse("http://feeds.feedburner.com/webnewsit") #an italian website
d.entries[0] # the last entry
try :
    d.entries[0].published
except AttributeError:
    link_last_entry=d.entries[0].link
    publish_date=extract_date(link_last_entry)

如果你还不知道出版日期就告诉我

相关问题 更多 >