Tôi đang cố gắng thiết lập lớp trung gian của trình tải xuống tùy chỉnh trong Scrapy. Tôi nghi ngờ rằng tôi đã bỏ lỡ một cái gì đó hiển nhiên, nhưng tôi đã đọc qua các tài liệu một vài lần và đã tìm thấy không có giải pháp. Tôi nhận được một chút thất vọng với những gì nên là một nhiệm vụ cực kỳ đơn giản, vì vậy hy vọng ai đó sẽ có thể cung cấp cho tôi một số cái nhìn sâu sắc.Không thể xác định phần mềm trung gian tải xuống tùy chỉnh trong Scrapy
Tôi đã thêm dòng sau vào tệp settings.py của mình.
DOWNLOADER_MIDDLEWARES = { 'myproject.middlewares.TestDownloader': 400 }
Sau khi thêm dòng đó và chạy dự án, tôi gặp lỗi về phần mềm mô-đun không tồn tại. Sau một số nghiên cứu, tôi phát hiện ra rằng bạn cần thêm một tệp __init__.py
vào thư mục middlewares
để Python nhận ra nó. Tôi đã thực hiện việc này và hiện đang nhận được lỗi sau:
NameError: Module 'myproject.middlewares' doesn't define any object named 'TestDownloader'
Tệp TestDownloader.py không được biên dịch, trong khi tất cả các tệp * .py khác trong dự án là. Nếu tôi hiểu Python của tôi đọc chính xác, điều đó có nghĩa là nó không được nhập bất cứ nơi nào, nhưng tôi không thể tìm thấy bất kỳ cài đặt Scrapy bổ sung nào để thay đổi để thực hiện công việc này.
Đúng, một giải pháp cực kỳ đơn giản mà tôi chưa từng nghĩ đến. Cảm ơn bạn. – Jared