当先锋百科网

首页 1 2 3 4 5 6 7

环境Win10 python3.7

一,我是在虚拟环境里面布置的Scrapyd

  1. 首先我们先启动虚拟环境,运行pip3 install scrapyd
  2. 然后输入scrapyd启动服务,启动成功如下
    在这里插入图片描述
  3. 然后打开浏览器输入127.0.0.1:6800看一下,页面如下
    在这里插入图片描述
  4. 连接成功,让我们先关闭服务
  5. 创建一个文件夹(尽量不要建在c盘),自定义名字,如scrapydText
  6. 按shift+鼠标右键打开命令窗口,执行scrapyd命令,执行完成后会新建一个 dbs 空文件夹,用来存放爬虫项目的数据文件,(注意:要先进入虚拟环境再执行该命令)
    在这里插入图片描述
  7. 然后再打开一个命令窗口,进入虚拟环境安装scrapyd-client 模块,安装完成后会在虚拟环境的 scripts 中会出现 scrapyd-deploy 无后缀文件,这个 scrapyd-deploy 无后缀文件是启动文件, 在 Linux 系统下可以运行,在 windows 下是不能运行的,所以我们需要编辑一下使其在 windows 可以运行
    在这里插入图片描述
  8. 然后在这个文件夹创建一个文件(不定格式),创建完成后命名为scrapyd-deploy.bat
    在这里插入图片描述
  9. 打开 scrapyd-deploy.bat 文件,右键选择编辑,输入以下配置(这里假设虚拟环境目录为 C:\Users\John\Envs),注意:两个路径之间是空格,一定要使用双引号,单引号的话会错误。
    @echo off “C:\Users\John\Envs\scrapySpider\Scripts\python.exe” “C:\Users\John\Envs\scrapySpider\Scripts\scrapyd-deploy” %1 %2 %3 %4 %5 %6 %7 %8 %9

在这里插入图片描述
10. 进入虚拟环境,再进入带有scrapy.cfg文件的爬虫目录中,执行scrapyd-deploy
在这里插入图片描述
11.打开爬虫项目中的 scrapy.cfg 文件,这个文件就是给 scrapyd-deploy 使用的 将 url 这行代码解掉注释,并且给设置你的部署名称
在这里插入图片描述
12. 执行scrapyd-deploy -l 可以看到项目名称
在这里插入图片描述
13. 执行命令:scrapy list,执行成功会返回项目名,如果没执行成 功说明还有工作没完成 注意:执行 scrapy list 命令的时候很有可能出现错误,如果是 python 无法找到 scrapy 项目, 需要在 scrapy 项目里的 settings.py 配置文件里设置成 python 可识别路径 # 将当前项目的一级目录 TotalSpider 目录添加到 python 可以识别目录BASE_DIR=os.path.dirname(os.path.abspath(os.path.dirname(file))) sys.path.insert(0, os.path.join(BASE_DIR, “TotalSpider”))

在这里插入图片描述
在这里插入图片描述
14. 接下来就是打包上传了执行命令scrapyd-deploy 项目名称 -p scrapy项目名称,看到下面情况
在这里插入图片描述
15. ,进入环境启动scrapyd服务,如果报pywin32错误的话,就安装一下pywin32,再次启动
在这里插入图片描述

  1. 让爬虫跑起来吧,执行curl http://localhost:6800/schedule.json -d project=scrapy项目名称 -d spider=爬虫名称
    在这里插入图片描述
  2. 看下效果
    在这里插入图片描述
  3. 项目成功的跑起来了
  4. 停止爬虫 curl http://localhost:6800/cancel.json -d project=scrapy 项目名称 -d job=运行 ID
  5. 删除 scrapy 项目 注意:一般删除 scrapy 项目,需要先执行命令停止项目下在远行的爬虫 curl http://localhost:6800/delproject.json -d project=scrapy 项目名称
  6. 查看有多少个 scrapy 项目在 api 中 curl http://localhost:6800/listprojects.json
  7. 查看指定的 scrapy 项目中有多少个爬虫 curl http://localhost:6800/listspiders.json?project=scrapy 项目名称

总结几个请求 url
1、获取状态 http://127.0.0.1:6800/daemonstatus.json
2、获取项目列表 http://127.0.0.1:6800/listprojects.json
3、获取项目下已发布的爬虫列表 http://127.0.0.1:6800/listspiders.json?project=myproject
4、获取项目下已发布的爬虫版本列表 http://127.0.0.1:6800/listversions.json?project=myproject
5、获取爬虫运行状态 http://127.0.0.1:6800/listjobs.json?project=myproject
6、启动服务器上某一爬虫(必须是已发布到服务器的爬虫) http://127.0.0.1:6800/schedule.json (post 方式,data={“project”:myproject,“spider”:myspider})
7、删除某一版本爬虫 http://127.0.0.1:6800/delversion.json (post 方式,data={“project”:myproject,“version”:myversion}) 8、删除某一工程,包括该工程下的各版本爬虫 http://127.0.0.1:6800/delproject.json(post 方式,data={“project”:myproject})