前幾天給你們分享了關於Scrapy爬蟲項目運行和調試的小技巧上篇,沒來得及上車的小夥伴能夠戳超連接看一下。今天小編繼續沿着上篇的思路往下延伸,給你們分享更爲實用的Scrapy項目調試技巧。shell
3、設置網站robots.txt規則爲False框架
通常的,咱們在運用Scrapy框架抓取數據以前,須要提早到settings.py文件中,將「ROBOTSTXT_OBEY = True」改成ROBOTSTXT_OBEY = False。scrapy
在未改動以後settings.py文件中默認爬蟲是遵照網站的robots.txt規則的,以下圖所示。網站
若是遵照robots.txt規則的話,那麼爬取的結果會自動過濾掉不少咱們想要的目標信息,所以有必要將該參數設置爲False,以下圖所示。命令行
設置好robots.txt規則以後,咱們即可以抓到更多網頁的信息。調試
4、利用Scrapy shell進行調試orm
一般咱們要運行Scrapy爬蟲程序的時候會在命令行中輸入「scrapy crawl crawler_name」,細心的小夥伴應該知道上篇文章中建立的main.py文件也是能夠提升調試效率的,不過這兩種方法都是須要從頭至尾運行Scrapy爬蟲項目,每次都須要請求一次URL,效率十分低。運行過Scrapy爬蟲項目的小夥伴都知道Scrapy運行的時候相對較慢,有時候由於網速不穩定,根部就沒法動彈。針對每次都須要運行Scrapy爬蟲的問題,這裏介紹Scrapy shell調試方法給你們,能夠事半功倍噢。開發
Scrapy給咱們提供了一種shell模式,讓咱們能夠在shell腳本之下獲取整個URL對應的網頁源碼。在命令行中進行運行,其語法命令是「scrapy shell URL」,URL是指你須要抓取的網頁網址或者連接,以下圖所示。get
該命令表明的意思是對該URL進行調試,當命令執行以後,咱們就已經獲取到了該URL所對應的網頁內容,以後咱們就能夠在該shell下進行調試,不再用每次都執行Scrapy爬蟲程序,發起URL請求了。源碼
經過shell腳本這種方式能夠極大的提升調試的效率,具體的調試方法同爬蟲主體文件中的表達式語法一致。舉個栗子,以下圖所示。
將兩個Xpath表達式所對應的選擇器放到scrapy shell調試的腳本下,咱們能夠很清楚的看到提取的目標信息,並且省去了每次運行Scrapy爬蟲程序的重複步驟,提升了開發效率。這種方式在Scrapy爬蟲過程當中十分經常使用,並且也十分的實用,但願小夥伴們均可以掌握,而且積極主動的爲本身所用。
關於Scrapy爬蟲項目運行和調試的部分小技巧先分享到這裏,尤爲是Debug調試和Scrapy shell調試極爲經常使用,但願小夥伴們能夠多多利用起來,讓其爲本身的項目服務,能夠事半功倍噢~~