多次将文本附加到URL,循环遍历新URL并解析它们

时间:2017-08-30 11:50:50

标签: python flask

我正在使用Flask和News API API构建新闻webapp。我想将新闻源附加到基本URL(newsapi_url)并从各种来源获取新闻。下面是我的代码示例。它有点算法,而不是纯粹的功能。

sources=[
'al-jazeera-english', 
'ars-technica', 
'business-insider', 
'buzzfeed', 
]

@app.route('/')
def home():
    for source in sources:
        newsapi_url='https://newsapi.org/v1/articles?source={}&sortBy=latest&apiKey='.format(source)
        articles=requests.get(newsapi_url+newsapi_key)
        parsed=articles.json()
        try:
            source=parsed['source']
            articles=parsed['articles']
            return render_template('news.html', source=source, articles=articles)

        except KeyError:
            return render_template('error.html')

我想通过循环遍历列表的长度,然后从创建的URL获取新闻,将列表中的新闻源添加到基本URL(newsapi_url)。

列表理解可行,但我无法弄清楚这种逻辑是怎样的。

1 个答案:

答案 0 :(得分:0)

这样的东西?

def home():
    results = []
    for source in sources:
        newsapi_url = 'https://newsapi.org/v1/articles?source={}&sortBy=latest&apiKey='.format(source)
        articles = requests.get(newsapi_url + newsapi_key)
        parsed = articles.json()
        if 'source' in parsed and 'articles' in parsed:
            results.append(parsed)
    return render_template('news.html', results=results)