Trị liệu - Vật phẩm
Sự miêu tả
Quy trình trị liệu có thể được sử dụng để trích xuất dữ liệu từ các nguồn như các trang web bằng cách sử dụng trình thu thập dữ liệu. Sử dụng liệu phápItem lớp để tạo ra kết quả có các đối tượng được sử dụng để thu thập dữ liệu đã được cạo.
Khai báo các mặt hàng
Bạn có thể khai báo các mục bằng cú pháp định nghĩa lớp cùng với các đối tượng trường được hiển thị như sau:
import scrapy
class MyProducts(scrapy.Item):
productName = Field()
productLink = Field()
imageURL = Field()
price = Field()
size = Field()
Trường mục
Các trường mục được sử dụng để hiển thị siêu dữ liệu cho mỗi trường. Vì không có giới hạn về giá trị trên các đối tượng trường, các khóa siêu dữ liệu có thể truy cập được không có bất kỳ danh sách tham chiếu nào của siêu dữ liệu. Các đối tượng trường được sử dụng để chỉ định tất cả siêu dữ liệu trường và bạn có thể chỉ định bất kỳ khóa trường nào khác theo yêu cầu của bạn trong dự án. Các đối tượng trường có thể được truy cập bằng thuộc tính Item.fields.
Làm việc với các mặt hàng
Có một số chức năng phổ biến có thể được xác định khi bạn đang làm việc với các mục. Để biết thêm thông tin, hãy nhấp vào liên kết này .
Mở rộng mục
Các mục có thể được mở rộng bằng cách nêu rõ lớp con của mục gốc. Ví dụ -
class MyProductDetails(Product):
original_rate = scrapy.Field(serializer = str)
discount_rate = scrapy.Field()
Bạn có thể sử dụng siêu dữ liệu trường hiện có để mở rộng siêu dữ liệu trường bằng cách thêm nhiều giá trị hơn hoặc thay đổi các giá trị hiện có như được hiển thị trong mã sau:
class MyProductPackage(Product):
name = scrapy.Field(Product.fields['name'], serializer = serializer_demo)
Đối tượng mục
Các đối tượng item có thể được chỉ định bằng cách sử dụng lớp sau cung cấp item được khởi tạo mới từ đối số đã cho:
class scrapy.item.Item([arg])
Mục cung cấp một bản sao của hàm tạo và cung cấp một thuộc tính bổ sung được cung cấp bởi các mục trong các trường.
Đối tượng trường
Các đối tượng trường có thể được chỉ định bằng cách sử dụng lớp sau, trong đó lớp Trường không đưa ra quy trình hoặc thuộc tính bổ sung -
class scrapy.item.Field([arg])