1

Python2.7 の学術モジュールを使用して、Google Scholar から特定の論文の詳細を取得しようとしています。1000件の論文の詳細を収集したいと思い、以下のコードを書きました。

seq = range(0,1,len(ResearchPaperNames))
for i in seq:
    pub = (next(scholarly.search_pubs_query(ResearchPaperNames[i]))
    print i
    # And further processing to extract data from pub, like author, citation, url

10〜12回の反復後にエラーが発生します

Traceback (most recent call last):
  File "C:\Users\Sony\Downloads\Google Scholar Data Extraction.py", line 25, in <module>
    pub = (next(scholarly.search_pubs_query(ResearchPaperNames[i])
StopIteration

Stackoverflow で利用可能ないくつかの回答を調べましたが、修正できませんでした。

StopIteration エラーの修正を手伝ってください

4

1 に答える 1

3

nextオプションのデフォルト値を 2 番目のパラメータとして取ります...

seq = range(0,1,len(ResearchPaperNames))
for i in seq:
    pub = next(scholarly.search_pubs_query(ResearchPaperNames[i]),None)
    print i

問題を停止すると思います...一種...基本的に、特定の研究論文の結果はありませんでした。多くの場合、ループ内で単純に印刷することは、一般的な経験則としても啓発的であり、0..len(配列)その要素にアクセスすることは、アンチパターンのようなものです

for paperName in ResearchPaperNames:
    pub = next(scholarly.search_pubs_query(paperName),None)
    if pub is None: 
       print "Error %s not found!"%paperName
    else:
       #process the publication
于 2016-03-20T22:42:40.303 に答える