Tôi đang viết trình thu thập thông tin cho một trang web sử dụng mẩu tin lưu niệm với CrawlSpider.cách lọc các yêu cầu trùng lặp dựa trên url trong scrapy
Phế liệu cung cấp bộ lọc yêu cầu trùng lặp được tích hợp sẵn để lọc các yêu cầu trùng lặp dựa trên các url. Ngoài ra, tôi có thể lọc các yêu cầu sử dụng quy tắc thành viên của CrawlSpider.
Những gì tôi muốn làm là để lọc các yêu cầu như:
http:://www.abc.com/p/xyz.html?id=1234&refer=5678
Nếu tôi đã đến thăm
http:://www.abc.com/p/xyz.html?id=1234&refer=4567
NOTE: refer is a parameter that doesn't affect the response I get, so I don't care if the value of that parameter changes.
Bây giờ, nếu tôi có một bộ mà tích tụ tất cả id Tôi có thể bỏ qua nó trong hàm gọi lại parse_item (đó là chức năng gọi lại của tôi) để đạt được chức năng này.
Nhưng điều đó có nghĩa là tôi vẫn ít nhất tìm nạp trang đó, khi tôi không cần.
Vì vậy, cách mà tôi có thể nói rõ rằng không nên gửi yêu cầu cụ thể dựa trên url?
chính xác những gì tôi muốn, Thx. – thinker007
Tôi đặt mã của bạn trong một tập tin trong thư mục nhện, nhưng tôi đã nhận lỗi này 'dupefilter = dupefilter_cls.from_settings (cài đặt) ngoại lệ. AttributeError: 'module' đối tượng không có thuộc tính 'from_settin gs'' –
Thanks, This works , nhưng làm thế nào để tôi truy cập đối tượng 'spider' từ lớp tùy biến của tôi? – wolfgang