通过网站启动爬虫的两种方法
一.向终端发送指令`
未测试
import os
import oscommand =’输入的命令’
os.system(command)
二.通过http请求
已测试
1.需要安装scrapyd ,scrapy-client
pip install scrapyd
pip install scrapyd-client==1.1.0 版本号要与scrapyd 一致
2.配置scrapy项目
打开scrapy.cfg文件
修改如下图
3.linux
直接输入 scrapyd-deploy 检测 上传工具是否能运行
windows
python环境里scripts文件里会生成scrapyd-deploy
我们需要创建一个scrapyd-deploy.bat文件,在里面加入下面语句
@echo off
"C:\Users\qianzhen\Envs\scrapySpider\Scripts\python.exe"
"C:\Users\qianzhen\Envs\scrapySpider\Scripts\scrapyd-deploy" %1 %2 %3 %4 %5 %6 %7 %8 %9
注意:
1.两个路径用空格隔开
2.第一个路径填写python.exe的路径
3.第二个填写scrapyd-deploy文件的路径
输入scrapyd-deploy 检测 上传工具是否能运行
显示Unknown target: default
运行成功
4.上传项目
- 启动scrapyd 在终端输入
scrapyd
命令 不要关闭 - 在项目目录下终端输入
scrapyd-deploy 部署名称 -p 项目名称
- 返回json数据 出现
status:ok
项目上传成功
若上传失败,关闭scraped进程,删除上传项目生成的文件,重新上传 - 输入url,查看网页
5. http://localhost:6800/listprojects.json 查看爬虫项目
6.启动爬虫
http://localhost:6800/scedule.json
post请求
参数data={"project":项目名称,"spider":爬虫名称}
form访问
<form action='http://localhost:6800/scedule.json?project=项目名称&spider=爬虫名称' method='post'>
<button value='开始爬虫'/>
</form>
ajax请求
$.ajax({
url:' http://localhost:6800/scedule.json',
type:"POST",
data: {
"project":'项目名称',
"spider":'爬虫名称'
}
7.获取爬虫运行状态
访问 http://127.0.0.1:6800/listjobs.json?project=myproject