使用Google Cloud Functions时ReactorNotRestartable出现刮擦

使用Google Cloud Functions时ReactorNotRestartable出现刮擦,第1张

使用Google Cloud Functions时ReactorNotRestartable出现刮擦

默认情况下,的异步性质

scrapy
无法与Cloud
Functions一起很好地工作,因为我们需要一种阻止爬网的方法,以防止该函数过早返回,并防止该实例在进程终止之前被杀死。

相反,我们可以使用

scrapydo
阻塞方式来运行您现有的蜘蛛

requirements.txt

scrapydo

main.py

import scrapyimport scrapydoscrapydo.setup()class MyItem(scrapy.Item):    url = scrapy.Field()class MySpider(scrapy.Spider):    name = "example.com"    allowed_domains = ["example.com"]    start_urls = ["http://example.com/"]    def parse(self, response):        yield MyItem(url=response.url)def run_single_crawl(data, context):    results = scrapydo.run_spider(MySpider)

这也显示了一个简单的示例,说明如何

scrapy.Item
从蜘蛛中产生一个或多个并从爬取中收集结果,如果不使用,这也将是一个挑战
scrapydo

另外:请确保您已为项目启用结算。默认情况下,Cloud Functions无法发出出站请求,并且搜寻器将成功执行,但不返回任何结果。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5013953.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-15
下一篇2022-11-14

发表评论

登录后才能评论

评论列表(0条)

    保存