2016-03-20 11 views
1

Google Scholarの特定の論文の詳細をPython2.7の学術モジュールを使用して取得しようとしています。私は1000の論文の詳細を収集し、以下に述べたコードを書いています。Pythonの学術モジュールを使用した検索クエリ中のStopIteration

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の上で利用可能ないくつかの答えを経ていますが、私はそれを修正することができませんでした。

は、基本的に...

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

は一種の...私が考える問題を停止します...私は

+0

その行の括弧はバランスが取れていません。このコードはどのように動作しますか? – Selcuk

答えて

2

nextは、2番目のパラメータとして、オプションのデフォルト値をとる呼び出すとStopIterationエラーを修正するために助けてください与えられた研究論文の結果はありませんでした。ループ内での単純な印刷は、経験則として啓発することができます.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 
+0

ありがとう、ジョラン。私はあなたのコードを試しました。私はそれがGoogleの学者のpythonクエリの検索の問題だと思う。日常的には、それは打ち切った後、80-90の反復のための作品です。 –

関連する問題