Выкидывает ошибку:
File "E:\python\echobot\wikipedia.py", line 2, in <module>
import wikipedia
File "E:\python\echobot\wikipedia.py", line 9, in <module>
wikipedia.set_lang("en")
AttributeError: partially initialized module 'wikipedia' has no attribute 'set_lang' (most likely due to a circular import)
import wikipedia
import re
# Устанавливаем русский язык в Wikipedia
wikipedia.set_lang("ru")
# Чистим текст статьи в Wikipedia и ограничиваем его тысячей символов
def getwiki(s):
try:
ny = wikipedia.page(s)
# Получаем первую тысячу символов
wikitext=ny.content[:1000]
# Разделяем по точкам
wikimas=wikitext.split('.')
# Отбрасываем всЕ после последней точки
wikimas = wikimas[:-1]
# Создаем пустую переменную для текста
wikitext2 = ''
# Проходимся по строкам, где нет знаков «равно» (то есть все, кроме заголовков)
for x in wikimas:
if not('==' in x):
# Если в строке осталось больше трех символов, добавляем ее к нашей переменной и возвращаем утерянные при разделении строк точки на место
if(len((x.strip()))>3):
wikitext2=wikitext2+x+'.'
else:
break
# Теперь при помощи регулярных выражений убираем разметку
wikitext2=re.sub('\([^()]*\)', '', wikitext2)
wikitext2=re.sub('\([^()]*\)', '', wikitext2)
wikitext2=re.sub('\{[^\{\}]*\}', '', wikitext2)
# Возвращаем текстовую строку
return wikitext2
# Обрабатываем исключение, которое мог вернуть модуль wikipedia при запросе
except Exception as e:
return 'В энциклопедии нет информации об этом'