Trong Scrapy shell, hãy dựng yêu cầu mà bạn muốn trình tải thực hiện:

from scrapy import Request

fetch(Request(
    "https://www.example.com/",
    meta={"proxy": "http://proxy.example:8080"},
))
response.status

HttpProxyMiddleware đọc giá trị proxy từ siêu dữ liệu của Request đó. Nó phải được bật trong cấu hình middleware trình tải đang hoạt động. Biến response sau đó thuộc về lần tải này. Với URL công khai này, hãy chọn một địa chỉ HTTP không cần xác thực từ danh sách proxy HTTP nếu cho phép trung gian công khai, rồi đặt URL của nó vào siêu dữ liệu proxy của yêu cầu đó.

Khởi động shell từ dự án Scrapy cho phép nó tải cấu hình của dự án đó. Điều này chọn middleware và các cài đặt khác; bản thân nó không chọn một điểm cuối proxy cụ thể. Siêu dữ liệu yêu cầu ở trên cung cấp lựa chọn đó trực tiếp.

Đối với proxy dùng thông tin đăng nhập Basic, Scrapy ghi lại thông tin người dùng trong URL proxy. Hãy mã hóa các ký tự dành riêng trong các thành phần tài khoản trước khi dựng nó. Không cần thêm tiêu đề Authorization của trang web cho tài khoản đó.

Scrapy cũng có thể phát hiện proxy từ các biến môi trường được hỗ trợ. Siêu dữ liệu proxy rõ ràng của một yêu cầu được ưu tiên. Đối với yêu cầu cố ý trực tiếp, giá trị proxy None vô hiệu hóa lựa chọn dựa trên môi trường của middleware đó cho yêu cầu.

Bài viết liên quan