1

所以我有这个使用 Google API 和报纸的脚本(运行 Python 3.5)。它在谷歌搜索与睡眠有关的文章。然后使用报纸,我遍历这些 URL。我要求 Newspaper 做的只是返回该文章的关键字列表,我将其称为 write article.keywords

for url in google.search('sleep', num=2, stop=1):
    article = Article(url)      
    article.download() 
    article.parse()
    article.nlp()     
    print(article.keywords)

返回的关键字(对于给定的文章)如下所示:

['education', 'nights', 'start', 'pill', 'supplement', 'research', 'national', 'sleep', 'sleeping', 'trouble', 'using', 'taking']

但是我想为所有结果创建一个包含所有关键字的字典:也就是说,每个被迭代的文章的关键字。我该怎么做?

4

2 回答 2

0

假设字典键应该是文章 url:

keywords = {}
for url in google.search('sleep', num=2, stop=1):
    article = Article(url)      
    article.download() 
    article.parse()
    article.nlp()  

    keywords[url] = article.keywords

print(keywords)

或者,如果您想获得所有文章中所有关键字的列表:

keywords = []
for url in google.search('sleep', num=2, stop=1):
    article = Article(url)      
    article.download() 
    article.parse()
    article.nlp()  

    keywords += article.keywords

print(keywords)
于 2016-02-24T04:48:26.757 回答
0

防止关键字被多次插入(几乎与另一个答案相同)

keywords = []
for url in google.search('sleep', num=2, stop=1):
  article = Article(url)      
  article.download() 
  article.parse()
  article.nlp()
  for kw in article.keywords:
    if kw not in keywords:
      keywords.append( kw )

或者更好的是,使用 aset而不是 a list

于 2016-02-24T04:55:08.343 回答