gpt4 book ai didi

python - Scrapy:从 python 脚本运行蜘蛛并等待它直到执行结束

转载 作者:太空宇宙 更新时间:2023-11-04 02:50:52 26 4
gpt4 key购买 nike

我创建了一个具有以下结构的小型 Scrapy 项目:

scrapyProject/
├── scrapy.cfg
└── scrapyProject
├── __init__.py
├── items.py
├── pipelines.py
├── settings.py
└── spiders
├── crawl_products.py
└── __init__.py

crawl_products.py 包含蜘蛛 products_spider。要启动我正在使用的蜘蛛:

scrapy crawl products_spider

现在我希望从另一个 python 脚本启动蜘蛛并等待其执行结束。

如果它可以帮助:我想从中运行蜘蛛的另一个脚本是 django View

最佳答案

您可以在 scrapy docs 中这个非常好的解释中找到一半的解决方案。

但是,这是解决方案中更重要的一半,永远不要直接从 django View (无论是从其他 Web 框架)运行爬虫。

拜托,我经常看到这种方式,这样做会阻止您的网络应用程序。因此,您的 View 将遇到浏览器超时,并且在某些时候您的应用程序将无法处理其他请求。

干净的解决方案 这里是使用运行爬虫的后台进程。 celery 是一个很好的库,这里已经详细讨论了这个主题:Running Scrapy spiders in a Celery task

关于python - Scrapy:从 python 脚本运行蜘蛛并等待它直到执行结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43926362/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com