热线电话:13121318867

登录
2019-01-28 阅读量: 716
新闻API - 获取输出到Pandas DataFrame

我已成功设法调用News API并将结果导入DataFrame,但仅限于第1页。

def get_articles(keyword):

all_articles = newsapi.get_everything(q=keyword, sources='abc-news-au, news-com-au',

domains='http://www.abc.net.au/news, http://www.news.com.au',

from_param='2018-12-28',

to='2019-01-28',

language='en',

sort_by='popularity',

page=1)

all_articles = pd.DataFrame(all_articles)

all_articles = pd.concat([all_articles.drop(['articles'], axis=1), all_articles['articles'].apply(pd.Series)], axis=1)

return all_articles

它给了我想要的数据帧,但是,当我尝试循环浏览以下页面时,我变得不稳定。

我尝试了以下内容

empty_list = []

for i in range(1,4,1):

all_articles = all_articles = newsapi.get_everything(q=keyword, sources='abc-news-au, news-com-au',

domains='http://www.abc.net.au/news, http://www.news.com.au',

from_param='2018-12-28',

to='2019-01-28',

language='en',

sort_by='popularity',

page=i)

empty_list.append(all_articles)

这将返回所有文章,但它是存储在列表中的字典。

解决办法:

想要提取文章值extend而不是append:

articles = []

for i in range(1,4,1):

articles_page = newsapi.get_everything(

q=keyword,

sources='abc-news-au, news-com-au',

domains='http://www.abc.net.au/news, http://www.news.com.au',

from_param='2018-12-28',

to='2019-01-28',

language='en',

sort_by='popularity',

page=i)

articles.extend(articles_page['articles'])

pd.DataFrame(articles)

0.0000
1
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子