Proxy theo từng yêu cầu với middleware proxy HTTP của Scrapy
Dùng siêu dữ liệu yêu cầu của Scrapy và middleware proxy của nó trước khi sao chép một middleware xác thực tùy chỉnh cũ vào trình thu thập.
Middleware proxy HTTP của Scrapy đọc proxy từ siêu dữ liệu yêu cầu:
yield scrapy.Request(
'https://example.com/',
callback=self.parse,
meta={'proxy': 'http://203.0.113.10:8080'},
)
Thay điểm cuối trong tài liệu và giữ middleware được bật. Danh sách proxy HTTP cung cấp các ứng viên công khai cho URL của yêu cầu này. Điều này chọn tuyến của yêu cầu; một nhóm proxy cần logic lựa chọn riêng.
Xác thực theo điểm cuối đã chọn
Middleware tích hợp xử lý thông tin xác thực được cung cấp qua URL proxy được hỗ trợ và tiêu đề ủy quyền liên quan. Escape các ký tự URL dành riêng và tránh ghi nhật ký URL đó.
Middleware riêng không nên giữ tiêu đề Basic cho proxy trước sau khi điểm cuối thay đổi. Hãy để một lớp quản lý tuyến và thông tin xác thực của nó cùng nhau.
Thứ tự chọn và mặc định
Nếu middleware tải xuống tùy chỉnh chọn proxy, hãy chạy nó trước khi middleware proxy tích hợp xử lý yêu cầu. Kiểm tra thứ tự và API của bản phát hành đã cài; các import scrapy.contrib lỗi thời thuộc về các bản phát hành cũ hơn.
Môi trường tiến trình cũng có thể cung cấp mặc định theo lược đồ. Đối với yêu cầu trực tiếp có chủ đích, hãy dùng hành vi đặc biệt được ghi chép của siêu dữ liệu proxy: thiếu khóa không nhất thiết nghĩa là truy cập trực tiếp.
Kiểm tra kết quả thực tế. 407 liên quan đến xác thực proxy, trong khi giới hạn tốc độ hoặc từ chối truy cập của trang web có thể đến sau khi tuyến hoạt động đúng.