Остановка изменения во время поискового запроса с использованием научного модуля в Python

Я пытаюсь получить подробную информацию о конкретных статьях из Google Scholar, используя научный модуль в Python2.7. Я хочу собрать детали 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

Я просмотрел несколько доступных ответов в Stackru, но не смог это исправить.

Пожалуйста, помогите мне исправить ошибку StopItate

1 ответ

next принимает необязательное значение по умолчанию в качестве второго параметра...

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
Другие вопросы по тегам