Trị liệu - Ngoại lệ

Sự miêu tả

Các sự kiện bất thường được gọi là ngoại lệ. Trong Scrapy, các trường hợp ngoại lệ được đưa ra do các lý do như thiếu cấu hình, rơi vật phẩm khỏi đường dẫn vật phẩm, v.v. Sau đây là danh sách các trường hợp ngoại lệ được đề cập trong Scrapy và ứng dụng của chúng.

Thả mục

Đường ống mặt hàng sử dụng ngoại lệ này để ngừng xử lý mặt hàng ở bất kỳ giai đoạn nào. Nó có thể được viết là -

exception (scrapy.exceptions.DropItem)

CloseSpider

Ngoại lệ này được sử dụng để dừng trình thu thập dữ liệu bằng cách sử dụng yêu cầu gọi lại. Nó có thể được viết là -

exception (scrapy.exceptions.CloseSpider)(reason = 'cancelled')

Nó chứa tham số gọi là reason (str) chỉ định lý do đóng.

Ví dụ: đoạn mã sau cho thấy cách sử dụng ngoại lệ này:

def parse_page(self, response): 
   if 'Bandwidth exceeded' in response.body: 
      raise CloseSpider('bandwidth_exceeded')

Bỏ qua yêu cầu

Ngoại lệ này được sử dụng bởi bộ lập lịch hoặc phần mềm trung gian của trình tải xuống để bỏ qua một yêu cầu. Nó có thể được viết là -

exception (scrapy.exceptions.IgnoreRequest)

NotConfigured

Nó chỉ ra một tình huống cấu hình bị thiếu và cần được nâng lên trong một phương thức khởi tạo thành phần.

exception (scrapy.exceptions.NotConfigured)

Ngoại lệ này có thể được nâng lên, nếu bất kỳ thành phần nào sau đây bị tắt.

  • Extensions
  • Đường ống mặt hàng
  • Phần mềm trung gian của trình tải xuống
  • Phần mềm trung gian Spider

Không được hỗ trợ

Ngoại lệ này được nêu ra khi bất kỳ tính năng hoặc phương pháp nào không được hỗ trợ. Nó có thể được viết là -

exception (scrapy.exceptions.NotSupported)