1

そこで、Google API と Newspaper を使用して、このスクリプト (Python 3.5 を実行) を作成しました。グーグルで睡眠に関する記事を検索します。そして、Newspaper を使用して、これらの URL を反復処理します。私が Newspaper に求めているのは、その記事のキーワードのリストを返すことだけです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 )

またはさらに良いことに、 a のset代わりに a を使用しlistます。

于 2016-02-24T04:55:08.343 に答える