Scrapy 命令

1.創建項目


scrapy startproject myproject

該命令將會在 myproject 目錄中創建一個 Scrapy 項目。接下來,進入到項目目錄中:

cd myproject

這時候您就可以使用 scrapy 命令來管理和控制您的項目了。




2.控制項目



您可以在您的項目中使用 scrapy 工具來對其進行控制和管理。
比如,創建一個新的 spider:

scrapy genspider mydomain mydomain.com

這時,你就創建了一個命名為 mydomain 的 spider,其默認代碼如下:

# -*- coding: utf-8 -*-
import scrapy

class MydomainSpider(scrapy.Spider):
    name = "mydomain"
    allowed_domains = ["mydomain.com"]
    start_urls = (
        'http://www.mydomain.com/',
    )

    def parse(self, response):
        pass




3.Scrapy命令



** startproject **

  • 語法: scrapy startproject <project_name>
  • 是否需要項目: no
  • 作用:在 project_name 文件夾下創建一個名為 project_name 的 Scrapy 項目

** genspider **

  • 語法: scrapy genspider [-t template] <name> <domain>
  • 是否需要項目: yes
  • 作用:在當前項目中創建 spider

** crawl **

  • 語法: scrapy crawl <spider>
  • 是否需要項目: yes
  • 作用:使用 spider 進行爬取。

** check **

  • 語法: scrapy check [-l] <spider>
  • 是否需要項目: yes
  • 作用:運行 contract 檢查

** list **

  • 語法: scrapy list
  • 是否需要項目: yes
  • 作用:列出當前項目中所有可用的 spider

edit

  • 語法: scrapy edit <spider>
  • 是否需要項目: yes
  • 使用 EDITOR
    中設定的編輯器編輯給定的spider。
    該命令僅僅是提供一個快捷方式。開發者可以自由選擇其他工具或者IDE來編寫調試spider。

fetch

  • 語法: scrapy fetch <url>
  • 是否需要項目: no
  • 作用:使用Scrapy下載器(downloader)下載給定的URL,并將獲取到的內容送到標準輸出。
    該命令以spider下載頁面的方式獲取頁面。例如,如果spider有 USER_AGENT 屬性修改了 User Agent,該命令將會使用該屬性。因此,您可以使用該命令來查看spider如何獲取某個特定頁面。該命令如果非項目中運行則會使用默認Scrapy downloader設定。

例子:

$ scrapy fetch --nolog http://www.example.com/some/page.html
[ ... html content here ... ]

view

  • 語法: scrapy view <url>
  • 是否需要項目: no
  • 作用:在瀏覽器中打開給定的URL,并以Scrapy spider獲取到的形式展現。 有些時候spider獲取到的頁面和普通用戶看到的并不相同。 因此該命令可以用來檢查spider所獲取到的頁面,并確認這是您所期望的。

例子:

$ scrapy view http://www.example.com/some/page.html
[ ... browser starts ... ]

shell

  • 語法: scrapy shell [url]
  • 是否需要項目: no
  • 作用:以給定的URL(如果給出)或者空(沒有給出URL)啟動Scrapy shell。 查看 Scrapy終端(Scrapy shell) 獲取更多信息。

例子:

$ scrapy shell http://www.example.com/some/page.html
[ ... scrapy shell starts ... ]

parse

  • 語法: scrapy parse <url> [options]
  • 是否需要項目: yes
  • 作用:獲取給定的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: 顯示每個請求的詳細信息

settings

  • 語法: scrapy settings [options]
  • 是否需要項目: no
  • 作用:獲取Scrapy的設定,在項目中運行時,該命令將會輸出項目的設定值,否則輸出Scrapy默認設定。

例子:

$ scrapy settings --get BOT_NAME
myproject
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容