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:回調函數