scrapy 2.3 寬爬行

2021-06-16 10:58 更新

Scrapy 默認值針對爬行特定站點進行了優(yōu)化。這些站點通常由一個殘缺的蜘蛛來處理,盡管這不是必需的或必需的(例如,有一些普通的蜘蛛來處理任何向它們拋出的給定站點)。

除了這種“集中的爬行”之外,還有另一種常見的爬行類型,它覆蓋了大量(可能是無限的)域,并且只受時間或其他任意約束的限制,而不是在域被爬行到完成或沒有更多的請求執(zhí)行時停止。這些被稱為“寬爬蟲”,是搜索引擎使用的典型爬蟲。

這些是一些常見的特性,通常在廣泛的爬行中發(fā)現(xiàn):

  • 它們對許多域(通常是無邊界的)而不是一組特定的站點進行爬網(wǎng)
  • 它們不一定要對域進行爬網(wǎng)直至完成,因為這樣做是不切實際的(或不可能的),而是按已爬網(wǎng)的時間或頁數(shù)限制爬網(wǎng)。
  • 它們在邏輯上更簡單(而不是具有許多提取規(guī)則的非常復雜的spider),因為數(shù)據(jù)通常在單獨的階段進行后處理。
  • 它們同時對多個域進行爬網(wǎng),這使得它們可以通過不受任何特定站點約束的限制來實現(xiàn)更快的爬網(wǎng)速度(每個站點的爬行速度都很慢,以尊重禮貌,但許多站點是并行進行的)

如上所述,Scrapy的默認設置是針對重點爬行而不是廣泛爬行而優(yōu)化的。然而,由于其異步體系結(jié)構(gòu),Scrapy非常適合執(zhí)行快速的廣泛爬行。本頁總結(jié)了在使用Scrapy進行寬范圍爬行時需要記住的一些事情,以及為實現(xiàn)高效的寬范圍爬行而調(diào)整Scrapy設置的具體建議。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號