Scrapy - Artículos

Descripción

El proceso scrapy se puede utilizar para extraer los datos de fuentes como páginas web usando arañas. Usos scrapyItem class para producir la salida cuyos objetos se utilizan para recopilar los datos extraídos.

Declaración de artículos

Puede declarar los elementos utilizando la sintaxis de definición de clase junto con los objetos de campo que se muestran a continuación:

import scrapy 
class MyProducts(scrapy.Item): 
   productName = Field() 
   productLink = Field() 
   imageURL = Field() 
   price = Field() 
   size = Field()

Campos de artículo

Los campos de elementos se utilizan para mostrar los metadatos de cada campo. Como no hay limitación de valores en los objetos de campo, las claves de metadatos accesibles no contienen ninguna lista de referencia de los metadatos. Los objetos de campo se utilizan para especificar todos los metadatos de campo y puede especificar cualquier otra clave de campo según sus requisitos en el proyecto. Se puede acceder a los objetos de campo utilizando el atributo Item.fields.

Trabajar con elementos

Hay algunas funciones comunes que se pueden definir cuando se trabaja con los elementos. Para obtener más información, haga clic en este enlace .

Ampliación de elementos

Los artículos se pueden ampliar indicando la subclase del artículo original. Por ejemplo

class MyProductDetails(Product): 
   original_rate = scrapy.Field(serializer = str) 
   discount_rate = scrapy.Field()

Puede utilizar los metadatos de campo existentes para ampliar los metadatos de campo agregando más valores o cambiando los valores existentes como se muestra en el siguiente código:

class MyProductPackage(Product): 
   name = scrapy.Field(Product.fields['name'], serializer = serializer_demo)

Objetos del artículo

Los objetos de elemento se pueden especificar utilizando la siguiente clase que proporciona el nuevo elemento inicializado a partir del argumento dado:

class scrapy.item.Item([arg])

El elemento proporciona una copia del constructor y proporciona un atributo adicional que proporcionan los elementos de los campos.

Objetos de campo

Los objetos de campo se pueden especificar utilizando la siguiente clase en la que la clase de campo no emite el proceso o los atributos adicionales:

class scrapy.item.Field([arg])