python虚拟环境的安装和配置(Windows)
1.在电脑上将python安装完成, 并记住安装的路径
2.配置系统环境变量(控制面板--系统--高级(环境变量)--系统变量)的path路径,编辑添加路径的版本即为默认使用版本
3.在命令行工具中输入 pip install virtualenv 下载python虚拟环境
4.若使用pip下载包时,经常出现超时等情况,可以使用国内镜像提高下载速度,例如豆瓣源 pip install -i http://pypi.douban.com/simple flask
5.使用 virtualenv 虚拟环境名称 命令创建虚拟环境,会在当前所在目录进行创建
6.进入虚拟环境 打开命令行
进入虚拟环境目录:cd 虚拟环境名称 回车 cd Scripts
执行启动文件:activate.bat
执行python命令即可运行查看
7.退出虚拟环境
deactivate.bat
8.如何创建指定版本的虚拟环境
virtualenv -p D:\python\python版本\python .exe 虚拟环境名称
D:\python\python版本\python .exe python目录
设置快捷进入虚拟环境方式:
1.下载virtualenvwrapper-win包
pip install virtualenvwrapper-win
2.输入workon命令查看是否可用
输出(找不到文件) 成功
3.使用virtualenvwrapper创建虚拟环境,默认放在C:\User\Administrator\Envs
路径可以修改:找到系统环境变量 添加WORKON_HOME指定路径即可
mkvirtualenv 虚拟环境名称
若路径改变,运行workon,目录中没有虚拟环境了,因为默认目录已经改变,可以将之前的虚拟环境拷贝到新目录下
4.以后再进入虚拟环境,就不需要记住安装路径了直接使用以下命令:
列出虚拟环境列表:workon
新建虚拟环境:mkvirtualenv 虚拟环境名称
启动/切换虚拟环境:workon 虚拟环境名称
离开虚拟环境:deactivate
scrapyd 部署爬虫项目
1.新建虚拟环境,在虚拟环境中安装scrapy项目需要使用到的包
mkvirtualenv --python=python.exe路径 虚拟环境名称
打开命令行工具执行 pip install scrapyd
安装完成后输入scrapyd启动scrapyd服务
打开浏览器 输入 127.0.0.1:6800 即可查看
127.0.0.1 本机IP
2.如果连接成功先关闭服务,自己在非C盘下新建一个文件夹,名称自定义如:scrapydTest然后进入该文件夹,shift+右键 打开命令行工具,输入scrapyd执行,执行完成后会新建一个dbs空文件夹,用来存放爬虫项目的数据文件
3.安装scrapyd-client模块。scrapyd-client模块是专门打包scrapy爬虫项目到scrapyd服务中的,进入虚拟环境,执行命令pip install scrapyd-client==1.1.0,安装完成后,在虚拟环境的scripts中会出现scrapyd-deploy无后缀文件,这个scrapyd-deploy无后缀文件是启动文件,在Linux系统下可以运行,在Windows下是不能运行的,所以我们需要编辑一下使其在Windows可以运行
新建一个scrapyd-deploy.bat文件,右键选择编辑,输入以下配置,注意:两个路径之间是空格,一定要使用双引号。单引号的话会错误。
@echo off
"python.exe文件路径"
"scrapyd-deploy文件路径"%1 %2 %3 %4 %5 %6 %7 %8 %9
4.进入虚拟环境(cd 虚拟环境名称),进入爬虫项目(cd 爬虫名称),进入带有scrapy.cfg文件的目录,执行scrapyd-deploy,测试scrapyd-deploy是否可以运行,出现Unkown正常
5.打开爬虫中的scrapy.cfg文件,这个文件就是给scrapyd-deploy用的
解注释url 并且设置部署名称(url上方)
6.执行scrapyd-deploy -l 启动服务,可以看到设置的名称
(部署名称 网址)
7.执行命令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”))
如果错误提示,什么远程计算机拒绝,说明你的scrapy项目有链接远程计算机,如链接数据库或者elasticsearch(搜索引擎)之类的,需要先将链接服务器启动
执行 scrapy list 命令返回了爬虫名称说明一切ok了
8.打包scrapy项目到scrapyd 执行打包命令
scrapyd-deploy 部署名称 -p 项目名称
若出现environment can only contain strings 版本不对,建议安装pip install scrapyd==1.1.1,直到你的egg文件夹中有项目即可
curl http://localhost:6800/schedule.json -d project=项目名称 -d spider=爬虫名称 运行后status OK 则运行成功
停止爬虫
curl http://localhost:6800/cancel.json -d project=scrapy项目名称 -d job=运行ID
删除scrapy项目
注意:一般删除scrapy项目,需要先执行命令停止项目下在远行的爬虫
curl http://localhost:6800/delproject.json -d project=scrapy项目名称
查看有多少个scrapy项目在api中
curl http://localhost:6800/listprojects.json
查看指定的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})