scrapyd部署总结
版权声明:本文为博主原创文章,转载请标明原文https://blog.csdn.net/weixin_42170439/article/details/89352917
一、前言
由于毕设要做一个集成爬虫、文本分析和可视化的网站。需要将爬虫部署到网站上去供不懂技术的人使用。因此开始了研 究 scrapy+django。找了多方面的资料终于找到了我想要的,那就是scrapyd。网站通过http就可以从scrapyd上管理后台的爬虫了。
二、环境安装
1. 建议从github上下载最新源码
安装scprayd,网址:https://github.com/scrapy/scrapyd
安装scrapyd-client,网址:https://github.com/scrapy/scrapyd-client
2. 也可以用pip 命令安装:
安装scprayd: pip install scrapyd
安装scrapyd-client: pip install scrapyd-client
3. pip安装源有可能不是最新版的。
三、验证安装成功
1. 在命令框中输入scrapyd,输出如下说明安装成功
2. 打开http://localhost:6800/ 可以看到
3.点击jobs可以查看爬虫运行情况。
4. 接下来处理 scrapyd-deploy 问题了
① 测试安装scrapy-client 成功后生成的scrapy-deploy 模块是否可用命令:
scrapyd-deploy -l
② 可以看到当前部署的爬虫项目,表示正常;输入这段命令的时候显示这个命令不存在或者有错误、不合法之类的,表示异
常。
③ 解决方案:
在你的python目录下的Scripts文件夹中,增加一个scrapyd-deploy.bat文件。
内容为:
@echo off
"D:\program files\python2.7.0\python.exe" "D:\program files\python2.7.0\Scripts\scrapyd-deploy" %*
解释:
"D:\program files\python2.7.0\python.exe" ————#你爬虫环境下python.exe的路径
"D:\program files\python2.7.0\Scripts\scrapyd-deploy" ————#你爬虫环境下scrapy-deloy模块的路径
④ 然后重新打开命令框,再运行scrapyd-deploy -l 就可以了。
四、发布工程到scrapyd
1. 首先对你要发布的爬虫工程的scrapy.cfg 文件进行修改,我这个文件的内容如下:
[deploy:scrapyd1] # 命名部署服务器标识名称
url = http://localhost:6800/ # scrapy 的部署服务链接 ,默认注释,我们需要解开注释 。
project = baidu # 项目名称
2. scrapyd-deploy <target> -p <project>
target为你的服务器命令(你起的标识名称),project是你的工程名字。
3. 此处 输入的命令是:
scrapyd-deploy scrapyd1(标识名称) -p baidu(项目名称)
4. 输出如下
五、启动爬虫
1. 使用如下命令启动一个爬虫
curl http://localhost:6800/schedule.json -d project=PROJECT_NAME -d spider=SPIDER_NAME
2. PROJECT_NAME填入你爬虫项目的名字,SPIDER_NAME填入你爬虫文件名 。
3. 此处输入的代码如下:
curl http://localhost:6800/schedule.json -d project=baidu -d spider=baidu
4. 因为这个测试爬虫写的非常简单,一下子就运行完了。访问以下网址,点击jobs可以看到有一个爬虫已经运行完,
处于Finished一列中
六、停止一个爬虫
curl http://localhost:6800/cancel.json -d project=PROJECT_NAME -d job=JOB_ID
更多API可以查看官网:http://scrapyd.readthedocs.io/en/latest/api.html