python爬蟲scrapy命令工具學習之篇三


命令行工具(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命令的模塊。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM