使用Feedparser解析多个RSS源,但此功能不起作用。如何创建一个函数来解析Feed并从Feed条目中获取链接以进一步推送到推文?
def get():
rss_url = [
'http://www.huffingtonpost.com/news/syria/feed/',
'http://www.nytimes.com/svc/collections/v1/publish /www.nytimes.com/topic/destination/syria/rss.xml',
]
def getHeadlines(rss_url):
feeds = []
for url in rss_url:
feeds.append(feedparser.parse(url))
for feed in feeds:
for post in feed.entries:
return post.link
tweet(getHeadlines(rss_url))
当我尝试这个时,我能够做到这一点 -
RSS_URLS = [
'http://feeds.feedburner.com/RockPaperShotgun',
'http://www.gameinformer.com/b/MainFeed.aspx?Tags=preview',
]
feed = feedparser.parse(RSS_URLS)
for post in feed.entries:
print post.title
答案 0 :(得分:0)
getHeadlines(rss_url)
不会导致返回的事物列表;它会导致函数立即返回。
在这种情况下,您将只获得第一次循环迭代的结果(第一个Feed中第一个帖子的第一个链接)。看一下当前feeds
的返回值,看看我的意思。
相反,您可以构建一个链接列表,类似于构建links = []
for feed in feeds:
for post in feed.entries:
links.append(post.link)
return links
列表的方式,并返回:
tweet()
我不确定import quandl
import pandas as pd
api_key=open(XXXX).read()
df=quandl.get('FMAC/HPI_AK',authtoken=api_key)
fiddy_states=pd.read_html('https://simple.wikipedia.org/wiki/List_of_U.S._states')
# we will print only the abbrev of the states
for abbv in fiddy_states [0][0][1:] :
# print("FMAC/HPI_"+str(abbv))
query= "FMAC/HPI_"+str(abbv)
df=quandl.get(query,authtoken=api_key)
df.columns = [str(abbv)]
main_df=pd.DataFrame()
if main_df.empty:
main_df= df
else:
main_df=main_df.join(df)
print(main_df.head())
应该是什么,但您可能需要单独发布列表中的每个元素。