windows中使用scrapyd遇到的问题

本文详细介绍了在Windows环境下使用Scrapyd-client遇到的常见问题及解决方案,包括如何创建scrapyd-deploy.bat批处理文件以启用命令,以及在部署项目时可能遇到的“environmentcanonlycontainstrings”错误的修复方法。此外,还提供了通过curl命令执行和停止爬虫的具体步骤。

1.window下‘scrapyd_deploy’不是内部或外部命令,也不是可运行的程序

在windows上使用scrapyd-client

安装后,并不能使用相应的命令’scrapyd-deploy’

需要在"C:\Python27\Scripts" 目录下 增加scrapyd-deploy.bat文件

内容填充为:

@echo off

“C:\python27\python.exe” “C:\python27\Scripts\scrapyd-deploy” %1 %2 %3 %4 %5 %6 %7 %8 %9
2.在项目部署时,出现“environment can only contain strings”的错误,根据错误找原因,在scrapyd源码中有一个utils.py文件,打开这个文件
在126行和130行进行一点改动

  1. 执行scrapyd服务上指定项目的指定爬虫
    curl http://[ip]:6800/schedule.json -d project=[项目名]-d spider=[爬虫名]
    爬虫执行成功后,终端会给出该爬虫的 jobid 值,表示该爬虫,后面停止爬虫需要提供jobid

  2. 停止scrapyd服务上的指定项目的指定爬虫(通过jobid指定)
    curl http://[ip]:6800/cancel.json -d project=[项目名] -d job=之前的jobid值

停止后如果代码需要修改,记得重新部署再执行。

Scrapyd是一个基于Twisted的Python爬虫部署工具,它可以帮助我们方便地管理和部署自己编写的爬虫程序。 以下是使用Scrapyd部署爬虫的步骤: 1. 安装Scrapyd 可以使用pip命令安装Scrapyd: ``` pip install scrapyd ``` 2. 创建Scrapy项目 在命令行窗口中输入以下命令,创建Scrapy项目: ``` scrapy startproject myproject ``` 其中myproject是项目名称。 3. 创建爬虫程序 在myproject/spiders目录下创建一个爬虫程序,例如: ```python import scrapy class MySpider(scrapy.Spider): name = 'myspider' allowed_domains = ['example.com'] start_urls = ['http://www.example.com'] def parse(self, response): # 爬虫解析方法 pass ``` 这里创建了一个名为myspider的爬虫程序,它从http://www.example.com开始爬取数据。 4. 配置Scrapy项目 修改myproject/settings.py文件,添加如下配置: ```python BOT_NAME = 'myproject' SPIDER_MODULES = ['myproject.spiders'] NEWSPIDER_MODULE = 'myproject.spiders' ITEM_PIPELINES = { 'scrapy.pipelines.images.ImagesPipeline': 1 } IMAGES_STORE = 'images' ``` 这里添加了一个名为ImagesPipeline的管道,用于下载图片,并将图片保存到images目录下。 5. 打包Scrapy项目 在命令行窗口中进入Scrapy项目的根目录,使用以下命令打包Scrapy项目: ``` python setup.py sdist ``` 这时会在Scrapy项目的根目录下生成一个dist目录,其中包含了一个压缩包,例如myproject-0.1.tar.gz。 6. 部署Scrapy项目 在命令行窗口中进入Scrapy项目的根目录,使用以下命令将Scrapy项目部署到Scrapyd服务器上: ``` scrapyd-deploy <target> -p <project> --version <version> ``` 其中,: - `<target>`是Scrapyd服务器的名称,例如default; - `<project>`是Scrapy项目的名称,例如myproject; - `<version>`是Scrapy项目的版本号,例如0.1。 执行此命令后,Scrapyd会自动将Scrapy项目部署到Scrapyd服务器上,并生成一个新的项目版本。 7. 启动ScrapydScrapyd服务器上启动Scrapyd服务: ``` scrapyd ``` 这时可以在浏览器中访问http://localhost:6800/,查看Scrapyd服务是否正常运行。 8. 运行爬虫 使用以下命令在Scrapyd服务器上运行爬虫程序: ``` curl http://localhost:6800/schedule.json -d project=myproject -d spider=myspider ``` 其中,myproject和myspider分别为你的项目名称和爬虫程序名称。 运行此命令后,Scrapyd会在Scrapyd服务器上启动myspider爬虫程序,并开始爬取数据。在浏览器中访问http://localhost:6800/jobs,可以查看爬虫程序的运行状态。 至此,使用Scrapyd部署爬虫的步骤已经完成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值