Tải cấu hình proxy của Scrapy vào một script CrawlerProcess
Truyền get_project_settings() cho CrawlerProcess khi một trình khởi chạy độc lập cần dùng cùng middleware tải xuống như scrapy crawl.
Một spider có thể dùng proxy mong đợi dưới scrapy crawl và đi thẳng khi được khởi chạy bằng script Python. Hãy kiểm tra cách script đó dựng cấu hình trước khi thay đổi máy chủ proxy.
Đối với một dự án Scrapy hiện có và nhện đã đăng ký của nó:
from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings
settings = get_project_settings()
process = CrawlerProcess(settings=settings)
process.crawl('catalog')
process.start()
Thay catalog bằng tên spider của dự án. Dự án phải tìm được qua scrapy.cfg của nó, hoặc qua một SCRAPY_SETTINGS_MODULE được đặt đúng trỏ tới một mô-đun cấu hình có thể nhập.
Chỉ tạo CrawlerProcess() không nhập tệp cấu hình của dự án chỉ vì script cũng nhập một lớp spider. Vì vậy middleware tùy chỉnh được bật bởi DOWNLOADER_MIDDLEWARES có thể vắng mặt trong lần chạy đó.
Tải cấu hình cung cấp các thành phần đã được cấu hình; nó không tự tạo ra địa chỉ proxy. Middleware proxy HTTP của Scrapy vẫn cần proxy môi trường thông thường hoặc một giá trị request.meta['proxy'] rõ ràng. Kiểm tra rằng HTTPPROXY_ENABLED không tắt nó. Đối với việc thu thập trang công khai được phép, danh sách proxy HTTP cung cấp các ứng viên cho giá trị proxy HTTP được truyền qua siêu dữ liệu hoặc môi trường đó.
So sánh cấu hình đã tải và middleware đang hoạt động của trình khởi chạy với lần chạy từ dòng lệnh. Nếu chúng khớp, hãy tiếp tục với siêu dữ liệu proxy của yêu cầu đã chọn và lỗi truyền tải thực tế.