【发布时间】:2019-01-31 18:50:35
【问题描述】:
看来我走到了死胡同。有没有办法在 asyncio 循环中运行 scrapy spider?比如下面的代码:
import asyncio
from scrapy.crawler import CrawlerProcess
from myscrapy import MySpider
import scrapy
async def do_some_work():
process = CrawlerProcess()
await process.crawl(MySpider)
loop = asyncio.get_even_loop()
loop.run_until_complete(do_some_work())
这导致我出错:
raise TypeError('A Future, a coroutine or an awaitable is required')
TypeError: A Future, a coroutine or an awaitable is required
我明白在等待之后应该有另一个协程。有什么方法可以绕过它并仍然使其异步工作?谢谢
【问题讨论】:
-
为什么你认为它可以和 await 一起工作?并非所有方法都可以异步工作。