- Author:杜七
- Date:2017.02.17
0 | 安裝
1 | 技巧
爬蟲(chóng)調(diào)試:http://www.cnblogs.com/sufei-duoduo/p/5884209.html
-
在 spider 中啟動(dòng) shell 來(lái)查看 response陪蜻,
scrapy shell 'http://scrapy.org' --nolog
沸伏,以及使用scrapy parse --spider=touming url -c parse_item
查看parse_item()
函數(shù)是否符合自己期望- 有時(shí)您想在 spider 的某個(gè)位置中查看被處理的 response献宫, 以確認(rèn)您期望的 response 到達(dá)特定位置。這可以通過(guò) scrapy.shell.inspect_response 函數(shù)來(lái)實(shí)現(xiàn)晃洒。以下是如何在 spider 中調(diào)用該函數(shù)的例子:
- 代碼示例
使用參數(shù)爬取數(shù)據(jù):http://www.cnblogs.com/sufei-duoduo/p/5867815.html
發(fā)送email郵件,http://www.cnblogs.com/sufei-duoduo/p/5883992.html
在抓取網(wǎng)站時(shí), 暫停爬蟲(chóng)并于稍后恢復(fù)而不是重新開(kāi)始, 有時(shí)會(huì)很有用 。 比如, 軟件更新后重啟計(jì)算機(jī), 或是要爬取的網(wǎng)站出現(xiàn)錯(cuò)誤需要稍后繼續(xù)爬 取時(shí), 都可能會(huì)中斷爬蟲(chóng)鳖擒。 非常方便的是, Scrapy 內(nèi)置了對(duì)暫停與恢復(fù)爬取 的支持, 這樣我們就不需要再修改示例爬蟲(chóng)了 。 要開(kāi)啟該功能, 我們只需要 定義用于保存爬蟲(chóng)當(dāng)前狀態(tài) 目 錄的 JOBDIR 設(shè)置即可烫止。 需要注意的是, 多個(gè) 爬蟲(chóng)的狀態(tài)需要保存在不同的 目錄當(dāng)中蒋荚。 下面是在我們的爬蟲(chóng)中使用該功能的示例 。
$ scrapy crawl country -s L馆蠕。G_LEVEL=DEBUG -s JOBDIR=crawls/country
- 我們使用Ac CCtrl+C) 發(fā)送終止信號(hào), 然后 爬蟲(chóng)又完成了幾個(gè)條 目 的處理之后才終止期升。 想要 Scrapy 保存爬蟲(chóng)狀態(tài), 就必 須等待它正常結(jié)束, 而不能經(jīng)受不住誘惑再次按下 C創(chuàng)+C 強(qiáng)行立即終止 ! 現(xiàn) 在, 爬蟲(chóng)狀態(tài)保存在 crawls/country 目錄中, 之后可以運(yùn)行同樣的命令 恢復(fù)爬蟲(chóng)運(yùn)行 。
2 | 部署爬蟲(chóng)
1) 可視化部署
2)手動(dòng)部署
sudo pip install scrapyd
shudo pip install scrapyd-client
- 首先切換到項(xiàng)目的目錄互躬,scrapy.cfg記錄了項(xiàng)目的配置信息
- 修改scrapy.cfg配置
[settings] default = Test.settings [deploy:Myploy]#發(fā)布名稱 url = http://localhost:6800/ #項(xiàng)目發(fā)布到那個(gè)地址 project = Test#項(xiàng)目名稱
- 要發(fā)布項(xiàng)目播赁,首先要啟動(dòng)scrapyd,直接在命令行輸入scrapyd
- 發(fā)布項(xiàng)目,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"}
- 現(xiàn)在只是將項(xiàng)目發(fā)布到目標(biāo)地址容为,但是沒(méi)有調(diào)度爬蟲(chóng),調(diào)度爬蟲(chóng)需要用到curl命令,在http://localhost:6800有提示坎背,稍微改動(dòng)替劈,如下:
curl http://localhost:6800/schedule.json -d project=Test -d spider=spd
,可以在http://localhost:6800看結(jié)果了得滤。 - 取消一個(gè)爬蟲(chóng):
curl http://localhost:6800/cancel.json -d project=PROJECT_NAME -d job=JOB_ID