Was ist der Unterschied zwischen der Scrapy-Spider-Middleware und der Downloader-Middleware? [geschlossen]

8

Beide Middleware kann Request und Response verarbeiten. Aber was ist der Unterschied?

    
Zhang Jiuzhou 26.07.2013, 04:10
quelle

1 Antwort

10

Obwohl sie fast identische Schnittstellen haben, dienen sie verschiedenen Zwecken:

  • Downloader-Middlewares ändern Anforderungen und Antworten oder generieren als Reaktion auf Antworten Anforderungen. Sie interagieren nicht direkt mit Spinnen. Einige Beispiele sind Middlewares, die Cookies, Caching, Proxies, Redirects, User-Agent-Header usw. implementieren. Sie fügen dem Downloader-System nur Funktionen hinzu.

  • Spider-Middlewares modifizieren Dinge, die an Spiders übergeben werden, wie Requests, Items, Exceptions und start_requests . Sie teilen einige grundlegende Funktionen mit Downloader-Middlewares, aber sie können keine Anfragen als Reaktion auf Antworten generieren. Sie stehen zwischen den Spinnen und dem Downloader. Ein Beispiel ist das Ausfiltern von Antworten mit schlechten HTTP-Statuscodes.

Einige Middlewares können entweder als Downloader-Middleware oder als Spider-Middleware funktionieren, aber sie sind oft trivial und werden in die eine oder andere Kategorie gezwungen, sobald Sie komplexere Funktionen hinzufügen.

    
Blender 26.07.2013, 04:23
quelle

Tags und Links