C語言中文網 目錄

Python Scrapy項目創建

在使用Scrapy開發爬蟲時,通常需要創建一個Scrapy項目。通過如下命令即可創建 Scrapy 項目:

scrapy startproject ZhipinSpider

在上面命令中,scrapy 是Scrapy 框架提供的命令;startproject 是 scrapy 的子命令,專門用于創建項目;ZhipinSpider 就是要創建的項目名。

scrapy 除提供 startproject 子命令之外,它還提供了 fetch(從指定 URL 獲取響應)、genspider(生成蜘蛛)、shell(啟動交互式控制臺)、version(查看 Scrapy 版本)等常用的子命令。可以直接輸入 scrapy 來查看該命令所支持的全部子命令。

運行上面命令,將會看到如下輸出結果:

New Scrapy project 'ZhipinSpider', using template directory 'd:\python3.6\lib\site-packages\scrapy\templates\project', created in:
    C:\Users\mengma\ZhipinSpider

You can start your first spider with:
    cd ZhipinSpider
    scrapy genspider example example.com

上面信息顯示 Scrapy 在當前目錄下創建了一個 ZhipinSpider 項目,此時在當前目錄下就可以看到一個 ZhipinSpider 目錄,該目錄就代表 ZhipinSpider 項目。

查看 ZhipinSpider 項目,可以看到如下文件結構:
ZhipinSpider
  │  scrapy.cfg
  │
  └──ZhipinSpider
      │  item.py
      │  middlewares.py
      │  pipelines.py
      │  setting.py
      │
      ├─ spiders
      │    │  __init__.py
      │    │
      │    └─ __pycache__
      └─ __pycache__
下面大致介紹這些目錄和文件的作用:
  • scrapy.cfg:項目的總配置文件,通常無須修改。
  • ZhipinSpider:項目的 Python 模塊,程序將從此處導入 Python 代碼。
  • ZhipinSpider/items.py:用于定義項目用到的 Item 類。Item 類就是一個 DTO(數據傳輸對象),通常就是定義 N 個屬性,該類需要由開發者來定義。
  • ZhipinSpider/pipelines.py:項目的管道文件,它負責處理爬取到的信息。該文件需要由開發者編寫。
  • ZhipinSpider/settings.py:項目的配置文件,在該文件中進行項目相關配置。
  • ZhipinSpider/spiders:在該目錄下存放項目所需的蜘蛛,蜘蛛負責抓取項目感興趣的信息。

為了更好地理解 Scrapy 項目中各組件的作用,下面給出 Scrapy 概覽圖,如圖 1 所示。


圖 1 Scrapy 概覽圖

在圖 1 中可以看到,Scrapy 包含如下核心組件:
  • 調度器:該組件由 Scrapy 框架實現,它負責調用下載中間件從網絡上下載資源。
  • 下載器:該組件由 Scrapy 框架實現,它負責從網絡上下載數據,下載得到的數據會由 Scrapy 引擎自動交給蜘蛛。
  • 蜘蛛:該組件由開發者實現,蜘蛛負責從下載數據中提取有效信息。蜘蛛提取到的信息會由 Scrapy 引擎以 Item 對象的形式轉交給 Pipeline。
  • Pipeline:該組件由開發者實現,該組件接收到 Item 對象(包含蜘蛛提取的信息)后,可以將這些信息寫入文件或數據庫中。

經過上面分析可知,使用 Scrapy 開發網絡爬蟲主要就是開發兩個組件,蜘蛛和 Pipeline。

精美而實用的網站,提供C語言C++STLLinuxShellJavaGo語言等教程,以及socketGCCviSwing設計模式JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo