Я пробую следующий код:
import asyncio
import smmrpy
s = smmrpy.SMMRPY("286C6866B9")
URL = 'https://stackoverflow.blog/2018/09/13/ibm-and-stack-overflow-partner-to-support-ai-developers/'
async def main():
article = await s.get_smmry(URL)
print(article.content)
print(article.keywords)
if __name__ == "__main__":
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
Что суммирует веб-сайты с использованием SMMRY (https://smmry.com/) и asyncio (предоставляется ключ API для 100 запросов). Модуль smmrpy создает объект "article", и, хотя он может печатать свойства, я не могу их хранить в переменной/списке, как я обычно делал, например:
import asyncio
import smmrpy
s = smmrpy.SMMRPY("286C6866B9")
URL = 'https://stackoverflow.blog/2018/09/13/ibm-and-stack-overflow-partner-to-support-ai-developers/'
async def main():
article = await s.get_smmry(URL)
print(article.content)
print(article.keywords)
# option 1:
# content = article.content
# option 2:
# return article
# content = getattr(article, 'content')
if __name__ == "__main__":
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
То, что я хотел бы сделать, - сохранить значение атрибута в переменной для дальнейшего экспорта. Любые идеи о том, что я делаю неправильно?
Проблема найдена, проблема была с переменным охватом. Переменная внутри функции является локальной переменной и не может быть вызвана глобально, определяя ее внутри функции. Этот блок исправляет проблему и печатает дважды без ошибок:
import asyncio
import smmrpy
s = smmrpy.SMMRPY("286C6866B9")
URL = 'https://stackoverflow.blog/2018/09/13/ibm-and-stack-overflow-partner-to-support-ai-developers/'
async def main():
article = await s.get_smmry(URL)
global contents
contents = article.content
print(contents)
print(article.keywords)
if __name__ == "__main__":
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
print(contents)