celery 调用scrapy
2024-09-03 12:44:10
我的环境: celery 3.1.25 python 3.6.9 window10
celery tasks 代码如下,其中 QuotesSpider 是我的scrapy项目爬虫类名称
from celery_app import app
from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings
from tutorial.spiders.quotes import QuotesSpider def crawl_run():
scope = 'all'
process = CrawlerProcess(settings=get_project_settings())
process.crawl(QuotesSpider, scope)
process.start()
process.join() @app.task(queue='default')
def execute_task():
return crawl_run()
后面发现这样写重复做定时任务的时候会报错,报reactor不能重启的问题,改成下面这样就解决了,这个类要放在和项目scrapy.cfg同级目录下
from crawler.tutorial.crawler.tutorial.spiders.quotes import QuotesSpider
from scrapy.utils.project import get_project_settings
import scrapy.crawler as crawler
from crochet import setup
setup()
import os class Scraper():
def crawl_run(self):
spider = QuotesSpider()
settings = get_project_settings()
runner = crawler.CrawlerRunner(settings)
runner.crawl(spider, 'all')
runner.join() if __name__ == '__main__':
scraper = Scraper()
scraper.crawl_run()
最新文章
- D2js 的邦联式架构
- javascript运动系列第六篇——轨迹和投掷
- 【转】silverlight telerik RadGridView 列头显示其他控件
- SQLSERVER存储过程基本语法
- 用 Wireshark 图解:TCP 三次握手
- skype msnLite 静态路由
- android任意view爆炸效果--第三方开源--ExplosionField
- oracle 权限管理
- Hibernate中Criteria的用法
- B-JUI(Best jQuery UI) 前端框架
- ACM POJ 2192 Zipper
- CodeForces 711D Directed Roads
- Colorful(Folders星语多彩文件夹) v1.7绿色版
- Hibernate写入Oracle Date类型处理
- ServerSuperIO 3.5版本的体系结构,以及未来规划的几点思考
- net.sz.framework 框架 登录服务器架构 单服2 万 TPS(QPS)
- 1.1Hibernate持久化类和Hibernate持久化对象状态
- 通过Weeman+Ettercap配合拿下路由器管理权限
- 转: hibernate配置文件hibernate.cfg.xml和.hbm.xml的详细解释
- Appium 九宫格 手势解锁