Python爬蟲框架Scrapy常用命令總結(jié)
本文實例講述了Python爬蟲框架Scrapy常用命令。分享給大家供大家參考,具體如下:
在Scrapy中,工具命令分為兩種,一種為全局命令,一種為項目命令。
全局命令不需要依靠Scrapy項目就可以在全局中直接運行,而項目命令必須要在Scrapy項目中才可以運行
全局命令
全局命令有哪些呢,要想了解在Scrapy中有哪些全局命令,可以在不進入Scrapy項目所在目錄的情況下,運行scrapy-h
,如圖所示:
可以看到,此時在可用命令在終端下展示出了常見的全局命令,分別為fetch、runspider、settings、shell、startproject、version、view。
fetch命令
fetch命令主要用來顯示爬蟲爬取的過程.如下圖所示:
在使用fetch命令時,同樣可以使用某些參數(shù)進行相應(yīng)的控制。那么fetch有哪些相關(guān)參數(shù)可以使用呢?我們可以通過scrpy fetch -h
列出所有可以使用的fetch相關(guān)參數(shù)。比如我們可以使用–headers顯示頭信息,也可以使用–nolog控制不顯示日志信息,還可以使用–spider=SPIDER參數(shù)來控制使用哪個爬蟲,通過–logfile=FILE指定存儲日志信息的文件,通過–loglevel=LEVEL控制日志等級。舉個栗子:
# 顯示頭信息,并且不顯示日志信息 scrpay -fetch --headers --nolog http://www.baidu.com
sunspider命令
通過runspider
命令可以不依托scrapy的爬蟲項目,直接運行一個爬蟲文件
# first.py為自定義的一個爬蟲文件 scrapy runspider first.py
settings命令
在scrapy項目所在的目錄中使用settings命令查看的使用對應(yīng)的項目配置信息,如果在scrapy項目所在的目錄外使用settings命令查看的Scrapy默認的配置信息
# 在項目中使用此命令打印的為BOT_NAME對應(yīng)的值,即scrapy項目名稱。 # 在項目外使用此命令打印的為scrapybot scrapy settings --get BOT_NAME
shell命令
通過shell命令可以啟動Scrapy的交互終端。
Scrapy的交互終端經(jīng)常在開發(fā)以及調(diào)試的時候用到,使用Scrapy的交互終端可以實現(xiàn)在不啟動Scrapy爬蟲的情況下,對網(wǎng)站響應(yīng)進行調(diào)試,同樣,在該交互終端下,我們也可以寫一些Python代碼進行相應(yīng)測試。
在>>>后面可以輸入交互命令以及相應(yīng)的代碼
startproject命令
用于創(chuàng)建scrapy項目
version命令
查看scrapy版本
view命令
用于下載某個網(wǎng)頁,然后通過瀏覽器查看
項目命令
bench命令
測試本地硬件的性能
scrapy bench
genspider命令
用于創(chuàng)建爬蟲文件,這是一種快速創(chuàng)建爬蟲文件的方式。
# scrpay genspider -t 基本格式 # basic 模板 # baidu.com 爬取的域名 scrapy genspider -t basic xxx baidu.com
此時在spider文件夾下會生成一個以xxx命名的py文件??梢允褂?code>scrapy genspider -l查看所有可用爬蟲模板。當(dāng)前可用的爬蟲模板有:basic、crawl、csvfeed、xmlfeed
check命令
使用check命令可以實現(xiàn)對某個爬蟲文件進行合同檢查,即測試.
# xxx為爬蟲名 scrapy check xxx
crawl命令
啟動某個爬蟲
# xxx為爬蟲名 scrapy crawl xxx
list命令
列出當(dāng)前可使用的爬蟲文件
scrapy list
edit命令
編輯爬蟲文件
scrapy edit xxx
parse命令
通過parse命令,我們可以實現(xiàn)獲取指定的URL網(wǎng)址,并使用對應(yīng)的爬蟲文件進行處理和分析
日志等級
等級名 | 含義 |
---|---|
CRITICAL | 發(fā)生了最嚴重的錯誤 |
ERROR | 發(fā)生了必須立即處理的錯誤 |
WARNING | 出現(xiàn)了一些警告信息,即存在潛在錯誤 |
INFO | 輸出一些提示顯示 |
DEBUG | 輸出一些調(diào)試信息 |
更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python Socket編程技巧總結(jié)》、《Python正則表達式用法總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
局域網(wǎng)內(nèi)python socket實現(xiàn)windows與linux間的消息傳送
這篇文章主要介紹了局域網(wǎng)內(nèi)python socket實現(xiàn)windows與linux間的消息傳送的相關(guān)知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-04-04TensorFlow學(xué)習(xí)之分布式的TensorFlow運行環(huán)境
這篇文章主要了TensorFlow學(xué)習(xí)之分布式的TensorFlow運行環(huán)境的相關(guān)知識,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02一篇文章帶你了解python標(biāo)準(zhǔn)庫--datetime模塊
這篇文章主要為大家介紹了python中的datetime模塊,datetime模塊的接口則更直觀、更容易調(diào)用,想要了解datetime模塊的朋友可以參考一下2021-08-08