1. 程式人生 > >關於Scrapy爬蟲項目運行和調試的小技巧(下篇)

關於Scrapy爬蟲項目運行和調試的小技巧(下篇)

art follow 選擇 思路 note ont dir 表達 url對應

前幾天給大家分享了關於Scrapy爬蟲項目運行和調試的小技巧上篇,沒來得及上車的小夥伴可以戳超鏈接看一下。今天小編繼續沿著上篇的思路往下延伸,給大家分享更為實用的Scrapy項目調試技巧。

三、設置網站robots.txt規則為False

一般的,我們在運用Scrapy框架抓取數據之前,需要提前到settings.py文件中,將“ROBOTSTXT_OBEY = True”改為ROBOTSTXT_OBEY = False。

在未改動之後settings.py文件中默認爬蟲是遵守網站的robots.txt規則的,如下圖所示。

技術分享圖片

如果遵守robots.txt規則的話,那麽爬取的結果會自動過濾掉很多我們想要的目標信息,因此有必要將該參數設置為False,如下圖所示。

技術分享圖片

設置好robots.txt規則之後,我們便可以抓到更多網頁的信息。

四、利用Scrapy shell進行調試

通常我們要運行Scrapy爬蟲程序的時候會在命令行中輸入“scrapy crawl crawler_name”,細心的小夥伴應該知道上篇文章中創建的main.py文件也是可以提高調試效率的,不過這兩種方法都是需要從頭到尾運行Scrapy爬蟲項目,每次都需要請求一次URL,效率十分低。運行過Scrapy爬蟲項目的小夥伴都知道Scrapy運行的時候相對較慢,有時候因為網速不穩定,根部就無法動彈。針對每次都需要運行Scrapy爬蟲的問題,這裏介紹Scrapy shell調試方法給大家,可以事半功倍噢。

Scrapy給我們提供了一種shell模式,讓我們可以在shell腳本之下獲取整個URL對應的網頁源碼。在命令行中進行運行,其語法命令是“scrapy shell URL”,URL是指你需要抓取的網頁網址或者鏈接,如下圖所示。

技術分享圖片

該命令代表的意思是對該URL進行調試,當命令執行之後,我們就已經獲取到了該URL所對應的網頁內容,之後我們就可以在該shell下進行調試,再也不用每次都執行Scrapy爬蟲程序,發起URL請求了。

通過shell腳本這種方式可以極大的提高調試的效率,具體的調試方法同爬蟲主體文件中的表達式語法一致。舉個栗子,如下圖所示。

技術分享圖片

將兩個Xpath表達式所對應的選擇器放到scrapy shell調試的腳本下,我們可以很清楚的看到提取的目標信息,而且省去了每次運行Scrapy爬蟲程序的重復步驟,提高了開發效率。這種方式在Scrapy爬蟲過程中十分常用,而且也十分的實用,希望小夥伴們都可以掌握,並且積極主動的為自己所用。

關於Scrapy爬蟲項目運行和調試的部分小技巧先分享到這裏,尤其是Debug調試和Scrapy shell調試極為常用,希望小夥伴們可以多多利用起來,讓其為自己的項目服務,可以事半功倍噢~~

關於Scrapy爬蟲項目運行和調試的小技巧(下篇)