關(guān)于Scrapy爬蟲項目運行和調(diào)試的小技巧(下篇)
前幾天給大家分享了關(guān)于Scrapy爬蟲項目運行和調(diào)試的小技巧上篇,沒來得及上車的小伙伴可以戳超鏈接看一下。今天小編繼續(xù)沿著上篇的思路往下延伸,給大家分享更為實用的Scrapy項目調(diào)試技巧。
三、設(shè)置網(wǎng)站robots.txt規(guī)則為False
一般的,我們在運用Scrapy框架抓取數(shù)據(jù)之前,需要提前到settings.py文件中,將“ROBOTSTXT_OBEY = True”改為ROBOTSTXT_OBEY = False。
在未改動之后settings.py文件中默認爬蟲是遵守網(wǎng)站的robots.txt規(guī)則的,如下圖所示。
如果遵守robots.txt規(guī)則的話,那么爬取的結(jié)果會自動過濾掉很多我們想要的目標信息,因此有必要將該參數(shù)設(shè)置為False,如下圖所示。
設(shè)置好robots.txt規(guī)則之后,我們便可以抓到更多網(wǎng)頁的信息。
四、利用Scrapy shell進行調(diào)試
通常我們要運行Scrapy爬蟲程序的時候會在命令行中輸入“scrapy crawl crawler_name”,細心的小伙伴應(yīng)該知道上篇文章中創(chuàng)建的main.py文件也是可以提高調(diào)試效率的,不過這兩種方法都是需要從頭到尾運行Scrapy爬蟲項目,每次都需要請求一次URL,效率十分低。運行過Scrapy爬蟲項目的小伙伴都知道Scrapy運行的時候相對較慢,有時候因為網(wǎng)速不穩(wěn)定,根部就無法動彈。針對每次都需要運行Scrapy爬蟲的問題,這里介紹Scrapy shell調(diào)試方法給大家,可以事半功倍噢。
Scrapy給我們提供了一種shell模式,讓我們可以在shell腳本之下獲取整個URL對應(yīng)的網(wǎng)頁源碼。在命令行中進行運行,其語法命令是“scrapy shell URL”,URL是指你需要抓取的網(wǎng)頁網(wǎng)址或者鏈接,如下圖所示。
該命令代表的意思是對該URL進行調(diào)試,當命令執(zhí)行之后,我們就已經(jīng)獲取到了該URL所對應(yīng)的網(wǎng)頁內(nèi)容,之后我們就可以在該shell下進行調(diào)試,再也不用每次都執(zhí)行Scrapy爬蟲程序,發(fā)起URL請求了。
通過shell腳本這種方式可以極大的提高調(diào)試的效率,具體的調(diào)試方法同爬蟲主體文件中的表達式語法一致。舉個栗子,如下圖所示。
將兩個Xpath表達式所對應(yīng)的選擇器放到scrapy shell調(diào)試的腳本下,我們可以很清楚的看到提取的目標信息,而且省去了每次運行Scrapy爬蟲程序的重復(fù)步驟,提高了開發(fā)效率。這種方式在Scrapy爬蟲過程中十分常用,而且也十分的實用,希望小伙伴們都可以掌握,并且積極主動的為自己所用。
關(guān)于Scrapy爬蟲項目運行和調(diào)試的部分小技巧先分享到這里,尤其是Debug調(diào)試和Scrapy shell調(diào)試極為常用,希望小伙伴們可以多多利用起來,讓其為自己的項目服務(wù),可以事半功倍噢~~
請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
-
即日-11.13立即報名>>> 【在線會議】多物理場仿真助跑新能源汽車
-
11月28日立即報名>>> 2024工程師系列—工業(yè)電子技術(shù)在線會議
-
12月19日立即報名>> 【線下會議】OFweek 2024(第九屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會
-
即日-12.26火熱報名中>> OFweek2024中國智造CIO在線峰會
-
即日-2025.8.1立即下載>> 《2024智能制造產(chǎn)業(yè)高端化、智能化、綠色化發(fā)展藍皮書》
-
精彩回顧立即查看>> 【限時免費下載】TE暖通空調(diào)系統(tǒng)高效可靠的組件解決方案
推薦專題
- 高級軟件工程師 廣東省/深圳市
- 自動化高級工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級銷售經(jīng)理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術(shù)專家 廣東省/江門市
- 封裝工程師 北京市/海淀區(qū)
- 結(jié)構(gòu)工程師 廣東省/深圳市