Остановка изменения во время поискового запроса с использованием научного модуля в 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