Oba programy pośredniczące mogą przetwarzać żądania i odpowiedzi. Ale jaka jest różnica?Jaka jest różnica między oprogramowaniem pośredniczącym programu Scrapy a oprogramowaniem pośredniczącym do pobierania?
Odpowiedz
Choć mają niemal identyczne interfejsy, służą różnym celom: middleware
Downloader modyfikacji żądania i odpowiedzi lub generowania żądania w odpowiedzi na odpowiedzi. Nie mają bezpośredniej interakcji z pająkami. Niektóre przykłady to middleware, które implementują pliki cookie, buforowanie, proxy, przekierowania, ustawianie nagłówków programów użytkownika itp. Po prostu dodają funkcjonalność do systemu pobierającego.
Środowisko pająk modyfikuje rzeczy, które przechodzą i wychodzą z pająków, takie jak żądania, elementy, wyjątki i
start_requests
. Udostępniają podstawowe funkcje oprogramowania pośredniczącego downloader, ale nie mogą generować żądań w odpowiedzi na odpowiedzi. Stoją pomiędzy pająkami i downloaderem. Jednym z przykładów jest filtrowanie odpowiedzi ze złymi kodami statusu HTTP.
Niektóre middleware może funkcjonować zarówno jako middleware downloader lub pośredniej pająka, ale są często banalne i będzie zmuszony do jednej lub drugiej kategorii po dodaniu bardziej złożonych funkcji.
Dzięki za rozwiązanie, które bardzo mi pomaga. Czy możesz tutaj wyjaśnić rolę DOWNLOADER_MIDDLEWARES. @ Blender –
@MitchWheat: Może wyglądać banalnie, ale to dobre pytanie. – Blender
Wygląda na to, że nie ma żadnej treści programistycznej: wygląda jak pytanie do wyszukiwarki. –
@MitchWheat: Rozróżnienie między nimi nie jest oczywiste i nie jest wyjaśnione w dokumentacji. Przesyłanie głosów w dół i zamykanie głosów nie przydaje się, jeśli nie rozumiesz związanych z nimi ram. – Blender