Scrapy的Spider類和CrawlSpider類

Scrapy shellpython

用來調試Scrapy 項目代碼的 命令行工具,啓動的時候預約義了Scrapy的一些對象正則表達式

 

設置 shellshell

Scrapy 的shell是基於運行環境中的python 解釋器shell數據庫

本質上就是經過命令調用shell,並在啓動的時候預約義須要使用的對象scrapy

scrapy容許經過在項目配置文件」scrapy.cfg」中進行配置來指定解釋器shell,例如:ide

[settings]函數

shell = ipython工具

 

啓動 shellurl

啓動Scrapy shell的命令語法格式:scrapy shell [option] [url|file]spa

url 就是你想要爬取的網址,分析本地文件時必定要帶上路徑,scrapy shell默認看成url

 

 

 

Spider類

運行流程

首先生成初始請求以爬取第一個URL,並指定要使用從這些請求下載的響應調用的回調函數

在回調函數中,解析響應(網頁)並返回,Item對象、Request對象或這些對象的可迭代的dicts

最後,從蜘蛛返回的項目一般會持久保存到數據庫(在某些項目管道中)或導出寫入文件

 

屬性

name:        spider的名稱、必須是惟一的

start_urls:        起始urls、初始的Request請求來源

customer_settings: 自定義設置、運行此蜘蛛時將覆蓋項目範圍的設置。必須將其定義爲類屬性,由於在實例化以前更新了設置

logger:       使用Spider建立的Python日誌器

 

方法

from_crawler:建立spider的類方法

start_requests:開始請求、生成request交給引擎下載返回response

parse:默認的回調方法,在子類中必需要重寫

close:spider關閉時調用

 

 

 

CrawlSpider類

Spider類       是匹配url,而後返回request請求

CrawlSpider類   根據url規則,自動生成request請求

 

建立CrawlSpider類爬蟲文件

crapy genspider -t crawl 爬蟲名 域名

 

LinkExtractor參數

allow:正則表達式,知足的url會被提取出來

deny:正則表達式,知足的url不會被提取出來

estrict_xpaths:路徑表達式,符合路徑的標籤提取出來

 

Rule參數

linkextractor:提取連接的實例對象

callback:回調函數

相關文章
相關標籤/搜索