命令行工具(Command line tools)
全局命令
項目命令
1、創建爬蟲工程的命令
scrapy startproject myproject
2、控制項目創建一個spider
scrapy genspider mydomain mydomain.com
3、使用爬蟲進行爬去
$ scrapy crawl myspider
4、進行contract檢查
$ scrapy check -l
5、列出當前項目中所有可用的spider。每行輸出一個spider
$ scrapy list
6、使用 EDITOR
中設定的編輯器編輯給定的spider
$ scrapy edit spider1
7、使用Scrapy下載器(downloader)下載給定的URL,並將獲取到的內容送到標准輸出。
該命令以spider下載頁面的方式獲取頁面。例如,如果spider有 USER_AGENT
屬性修改了 User Agent,該命令將會使用該屬性。
因此,您可以使用該命令來查看spider如何獲取某個特定頁面。
該命令如果非項目中運行則會使用默認Scrapy downloader設定。
- 語法:
scrapy fetch <url>
$ scrapy fetch --nolog http://www.example.com/some/page.html
8、在瀏覽器中打開給定的URL
- 語法:
scrapy view <url>
在瀏覽器中打開給定的URL,並以Scrapy spider獲取到的形式展現。 有些時候spider獲取到的頁面和普通用戶看到的並不相同。 因此該命令可以用來檢查spider所獲取到的頁面,並確認這是您所期望的。
$ scrapy view http://www.example.com/some/page.html
9、shell命令
在spider的開發調試過程總,shell命令可以通過交互的方式進行調試,非常方便。
以給定的URL(如果給出)或者空(沒有給出URL)啟動Scrapy shell。 查看 Scrapy終端(Scrapy shell) 獲取更多信息。
$ scrapy shell http://www.example.com/some/page.html
10、parse命令
- 語法:
scrapy parse <url> [options]
- 獲取給定的URL並使用相應的spider分析處理。如果您提供
--callback
選項,則使用spider的該方法處理,否則使用parse
。
支持的選項:
--spider=SPIDER
: 跳過自動檢測spider並強制使用特定的spider--a NAME=VALUE
: 設置spider的參數(可能被重復)--callback
or-c
: spider中用於解析返回(response)的回調函數--pipelines
: 在pipeline中處理item--rules
or-r
: 使用CrawlSpider
規則來發現用來解析返回(response)的回調函數--noitems
: 不顯示爬取到的item--nolinks
: 不顯示提取到的鏈接--nocolour
: 避免使用pygments對輸出着色--depth
or-d
: 指定跟進鏈接請求的層次數(默認: 1)--verbose
or-v
: 顯示每個請求的詳細信息
$ scrapy parse http://www.example.com/ -c parse_item
11、settings
- 語法:
scrapy settings [options]
獲取Scrapy的設定
在項目中運行時,該命令將會輸出項目的設定值,否則輸出Scrapy默認設定。
$ scrapy settings --get BOT_NAME scrapybot $ scrapy settings --get DOWNLOAD_DELAY 0
12、runspider
- 在未創建項目的情況下,運行一個編寫在Python文件中的spider。
- 語法:
scrapy runspider <spider_file.py>
$ scrapy runspider myspider.py
13、其他命令
version:
- 語法:
scrapy version [-v]
- 輸出Scrapy版本。配合
-v
運行時,該命令同時輸出Python, Twisted以及平台的信息,方便bug提交。
deploy
- 將項目部署到Scrapyd服務。查看 部署您的項目 。
- 語法:
scrapy deploy [ <target:project> | -l <target> | -L ]
bench
- 運行benchmark測試。 Benchmarking 。
- 語法:
scrapy bench
14、自定義項目命令
可以通過 COMMANDS_MODULE
來添加您自己的項目命令。您可以以 scrapy/commands 中Scrapy commands為例來了解如何實現您的命令。
COMMANDS_MODULE
Default: ''
(empty string)
用於查找添加自定義Scrapy命令的模塊。