2013-07-26 32 views
8

Her iki ara katman da İstek ve Yanıtı işleyebilir. Ama fark nedir? hemen hemen özdeş arayüzlere sahip ikenScrapy'nin örümcek ara katman yazılımı ve downloader ara katman yazılımı arasındaki fark nedir?

+4

@MitchWheat: Önemsiz görünebilir, ancak bu iyi bir soru. – Blender

+0

Herhangi bir programlama içeriğine sahip görünmüyor: Bir arama motoru için bir soruya benziyor. –

+1

@MitchWheat: İkisi arasındaki ayrım açık değildir ve dokümantasyonda açıklanmamıştır. İlgili çerçeveyi anlamıyorsanız döküm oylama ve yakın oylar gerçekten yardımcı olmaz. – Blender

cevap

10

, farklı amaca hizmet eder:

  • Downloader ara katman istek ve yanıtlarını modifiye veya yanıtlar yanıt olarak istek üretir. Doğrudan örümceklerle etkileşmiyorlar. Bazı örnekler çerezleri, önbelleğe alma, proxy'leri, yönlendirmeleri, kullanıcı-aracı başlıklarını vb. Uygulayan orta sınıflardır. Onlar sadece indirici sisteme işlevsellik katarlar.

  • Örümcek middlewares istekleri, öğeleri, özel durumlar ve start_requests gibi örümceklerin içine ve dışına giren şeyleri değiştirir. İndirici aracılarıyla bazı temel işlevleri paylaşırlar, ancak yanıtlara yanıt olarak istek üretemezler. Örümcekler ve indirici arasında duruyorlar. Bir örnek, kötü HTTP durum kodlarıyla yanıtları filtrelemek.

Bazı ara katman bir indirici katman veya bir örümcek katman ya kadar çalışabilir, ancak çoğu zaman önemsiz ve sen daha karmaşık işlevsellik eklemek kez bir kategoriye ya da diğer zorla edilecektir.

+0

Bana çok yardımcı olan çözüm için teşekkürler. Burada DOWNLOADER_MIDDLEWARES rolünü ayrıntılandırabilir misiniz? –

İlgili konular