Scrapy'nin HTTP proxy ara katman yazılımı proxy'yi istek meta verilerinden okur:

yield scrapy.Request(
    'https://example.com/',
    callback=self.parse,
    meta={'proxy': 'http://203.0.113.10:8080'},
)

Belgedeki uç noktayı değiştirin ve ara katman yazılımını etkin bırakın. HTTP proxy listesi bu isteğin URL'si için genel adaylar sunar. Bu, isteğin rotasını seçer; bir proxy havuzunun ayrı bir seçim mantığına ihtiyacı vardır.

Kimlik doğrulama seçilen uç noktayı izler

Yerleşik ara katman yazılımı, desteklenen proxy URL'si ve ilgili yetkilendirme başlığı aracılığıyla sağlanan kimlik bilgilerini işler. Ayrılmış URL karakterlerini kaçışlayın ve o URL'yi günlüğe kaydetmekten kaçının.

Ayrı bir ara katman yazılımı, uç nokta değiştikten sonra önceki proxy için Basic başlığını tutmamalıdır. Rotayı ve kimlik bilgilerini tek bir katman birlikte yönetsin.

Seçim sırası ve varsayılanlar

Özel indirici ara katman yazılımı proxy'yi seçiyorsa, yerleşik proxy ara katman yazılımı isteği işlemeden önce onu çalıştırın. Kurulu sürümün sırasını ve API'sini kontrol edin; kullanımdan kaldırılmış scrapy.contrib içe aktarımları daha eski sürümlere aittir.

İşlem ortamı ayrıca şemaya özgü varsayılanlar sağlayabilir. Kasıtlı olarak doğrudan bir istek için belgelenmiş özel proxy meta veri davranışını kullanın: eksik bir anahtar her zaman doğrudan erişim anlamına gelmez.

Gerçek sonucu inceleyin. 407 proxy kimlik doğrulamasıyla ilgilidir; bir web sitesinin hız sınırı veya erişim reddi ise rota doğru çalıştıktan sonra gelebilir.

İlgili makaleler