- Author:杜七
- Date:2017.02.17
0 | 安装
1 | 技巧
在 spider 中启动 shell 来查看 response,
scrapy shell 'http://scrapy.org' --nolog
,以及使用scrapy parse --spider=touming url -c parse_item
查看parse_item()
函数是否符合自己期望- 有时您想在 spider 的某个位置中查看被处理的 response, 以确认您期望的 response 到达特定位置。这可以通过 scrapy.shell.inspect_response 函数来实现。以下是如何在 spider 中调用该函数的例子:
- 代码示例
发送email邮件,http://www.cnblogs.com/sufei-duoduo/p/5883992.html
在抓取网站时, 暂停爬虫并于稍后恢复而不是重新开始, 有时会很有用 。 比如, 软件更新后重启计算机, 或是要爬取的网站出现错误需要稍后继续爬 取时, 都可能会中断爬虫。 非常方便的是, Scrapy 内置了对暂停与恢复爬取 的支持, 这样我们就不需要再修改示例爬虫了 。 要开启该功能, 我们只需要 定义用于保存爬虫当前状态 目 录的 JOBDIR 设置即可。 需要注意的是, 多个 爬虫的状态需要保存在不同的 目录当中。 下面是在我们的爬虫中使用该功能的示例 。
$ scrapy crawl country -s L。G_LEVEL=DEBUG -s JOBDIR=crawls/country
- 我们使用Ac CCtrl+C) 发送终止信号, 然后 爬虫又完成了几个条 目 的处理之后才终止。 想要 Scrapy 保存爬虫状态, 就必 须等待它正常结束, 而不能经受不住诱惑再次按下 C创+C 强行立即终止 ! 现 在, 爬虫状态保存在 crawls/country 目录中, 之后可以运行同样的命令 恢复爬虫运行 。
2 | 部署爬虫
1) 可视化部署
2)手动部署
sudo pip install scrapyd
shudo pip install scrapyd-client
- 首先切换到项目的目录,scrapy.cfg记录了项目的配置信息
- 修改scrapy.cfg配置
[settings] default = Test.settings [deploy:Myploy]#发布名称 url = http://localhost:6800/ #项目发布到那个地址 project = Test#项目名称
- 要发布项目,首先要启动scrapyd,直接在命令行输入scrapyd
- 发布项目,CD到根目录,
scrapyd-deploy Myploy -p Test #在scrapy.cfg文件有配置 Packing version 1482303178 Deploying to project "Test" in http://localhost:6800/addversion.json Server response (200): {"status": "ok", "project": "Test", "version": "1482303178", "spiders": 1, "node_name": "tozo-CW65S"}
- 现在只是将项目发布到目标地址,但是没有调度爬虫,调度爬虫需要用到curl命令,在http://localhost:6800有提示,稍微改动,如下:
curl http://localhost:6800/schedule.json -d project=Test -d spider=spd
,可以在http://localhost:6800看结果了。 - 取消一个爬虫:
curl http://localhost:6800/cancel.json -d project=PROJECT_NAME -d job=JOB_ID