1. 程式人生 > >scrapy框架的命令列解釋

scrapy框架的命令列解釋

scrapy框架的命令解釋

 

建立爬蟲專案

scrapy startproject 專案名
例子如下:

scrapy startproject test1

這個時候爬蟲的目錄結構就已經建立完成了,目錄結構如下:

|____scrapy.cfg
|____test1
| |______init__.py
| |____items.py
| |____middlewares.py
| |____pipelines.py
| |____settings.py
| |____spiders
| | |______init__.py

接著我們按照提示可以生成一個spider,這裡以百度作為例子,生成spider的命令格式為;
scrapy genspider 爬蟲名字 爬蟲的網址

scrapy genspider baiduSpider baidu.com

關於命令詳細使用

命令的使用範圍

這裡的命令分為全域性的命令和專案的命令,全域性的命令表示可以在任何地方使用,而專案的命令只能在專案目錄下使用

全域性的命令有:
startproject
genspider
settings
runspider
shell
fetch
view
version

專案命令有:
crawl
check
list
edit
parse
bench

startproject
這個命令沒什麼過多的用法,就是在建立爬蟲專案的時候用

genspider
用於生成爬蟲,這裡scrapy提供給我們不同的幾種模板生成spider,預設用的是basic,我們可以通過命令檢視所有的模板

scrapy genspider -l

當我們建立的時候可以指定模板,不指定預設用的basic,如果想要指定模板則通過
scrapy genspider -t 模板名字

$ scrapy genspider -t crawl zhihuspider zhihu.com

crawl

這個是用去啟動spider爬蟲格式為:
scrapy crawl 爬蟲名字
這裡需要注意這裡的爬蟲名字和通過scrapy genspider 生成爬蟲的名字是一致的

check
用於檢查程式碼是否有錯誤,scrapy check

list
scrapy list列出所有可用的爬蟲

fetch
scrapy fetch url地址 
該命令會通過scrapy downloader 講網頁的原始碼下載下來並顯示出來

這裡有一些引數:
--nolog 不列印日誌
--headers 列印響應頭資訊
--no-redirect 不做跳轉

view
scrapy view url地址
該命令會講網頁document內容下載下來,並且在瀏覽器顯示出來

因為現在很多網站的資料都是通過ajax請求來載入的,這個時候直接通過requests請求是無法獲取我們想要的資料,所以這個view命令可以幫助我們很好的判斷

shell
這是一個命令列互動模式
通過scrapy shell url地址進入互動模式
這裡我麼可以通過css選擇器以及xpath選擇器獲取我們想要的內容(xpath以及css選擇的用法會在下個文章中詳細說明),例如我們通過scrapy shell http://www.baidu.com

這裡最後給我們返回一個response,這裡的response就和我們通requests請求網頁獲取的資料是相同的。
view(response)會直接在瀏覽器顯示結果
response.text 獲取網頁的文字
下圖是css選擇器的一個簡單用法

 

 settings
獲取當前的配置資訊
通過scrapy settings -h可以獲取這個命令的所有幫助資訊

scrapy settings -h

拿一個例子進行簡單的演示:(這裡是我的這個專案的settings配置檔案中配置了資料庫的相關資訊,可以通過這種方式獲取,如果沒有獲取的則為None)

scrapy settings --get=MYSQL_HOST

runspider
這個和通過crawl啟動爬蟲不同,這裡是scrapy runspider 爬蟲檔名稱
所有的爬蟲檔案都是在專案目錄下的spiders資料夾中

version
檢視版本資訊,並檢視依賴庫的資訊

scrapy version

 

 

 

建立爬蟲專案

scrapy startproject 專案名
例子如下:

scrapy startproject test1

這個時候爬蟲的目錄結構就已經建立完成了,目錄結構如下:

|____scrapy.cfg
|____test1
| |______init__.py
| |____items.py
| |____middlewares.py
| |____pipelines.py
| |____settings.py
| |____spiders
| | |______init__.py

接著我們按照提示可以生成一個spider,這裡以百度作為例子,生成spider的命令格式為;
scrapy genspider 爬蟲名字 爬蟲的網址

scrapy genspider baiduSpider baidu.com

關於命令詳細使用

命令的使用範圍

這裡的命令分為全域性的命令和專案的命令,全域性的命令表示可以在任何地方使用,而專案的命令只能在專案目錄下使用

全域性的命令有:
startproject
genspider
settings
runspider
shell
fetch
view
version

專案命令有:
crawl
check
list
edit
parse
bench

startproject
這個命令沒什麼過多的用法,就是在建立爬蟲專案的時候用

genspider
用於生成爬蟲,這裡scrapy提供給我們不同的幾種模板生成spider,預設用的是basic,我們可以通過命令檢視所有的模板

scrapy genspider -l

當我們建立的時候可以指定模板,不指定預設用的basic,如果想要指定模板則通過
scrapy genspider -t 模板名字

$ scrapy genspider -t crawl zhihuspider zhihu.com

crawl

這個是用去啟動spider爬蟲格式為:
scrapy crawl 爬蟲名字
這裡需要注意這裡的爬蟲名字和通過scrapy genspider 生成爬蟲的名字是一致的

check
用於檢查程式碼是否有錯誤,scrapy check

list
scrapy list列出所有可用的爬蟲

fetch
scrapy fetch url地址 
該命令會通過scrapy downloader 講網頁的原始碼下載下來並顯示出來

這裡有一些引數:
--nolog 不列印日誌
--headers 列印響應頭資訊
--no-redirect 不做跳轉

view
scrapy view url地址
該命令會講網頁document內容下載下來,並且在瀏覽器顯示出來

因為現在很多網站的資料都是通過ajax請求來載入的,這個時候直接通過requests請求是無法獲取我們想要的資料,所以這個view命令可以幫助我們很好的判斷

shell
這是一個命令列互動模式
通過scrapy shell url地址進入互動模式
這裡我麼可以通過css選擇器以及xpath選擇器獲取我們想要的內容(xpath以及css選擇的用法會在下個文章中詳細說明),例如我們通過scrapy shell http://www.baidu.com

這裡最後給我們返回一個response,這裡的response就和我們通requests請求網頁獲取的資料是相同的。
view(response)會直接在瀏覽器顯示結果
response.text 獲取網頁的文字
下圖是css選擇器的一個簡單用法

 

 settings
獲取當前的配置資訊
通過scrapy settings -h可以獲取這個命令的所有幫助資訊

scrapy settings -h

拿一個例子進行簡單的演示:(這裡是我的這個專案的settings配置檔案中配置了資料庫的相關資訊,可以通過這種方式獲取,如果沒有獲取的則為None)

scrapy settings --get=MYSQL_HOST

runspider
這個和通過crawl啟動爬蟲不同,這裡是scrapy runspider 爬蟲檔名稱
所有的爬蟲檔案都是在專案目錄下的spiders資料夾中

version
檢視版本資訊,並檢視依賴庫的資訊

scrapy version