Scrapy - Articoli

Descrizione

Il processo scrapy può essere utilizzato per estrarre i dati da fonti come le pagine web utilizzando gli spider. Usi scrapyItem class per produrre l'output i cui oggetti vengono utilizzati per raccogliere i dati raschiati.

Dichiarazione di articoli

È possibile dichiarare gli elementi utilizzando la sintassi della definizione della classe insieme agli oggetti campo mostrati come segue:

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

Campi oggetto

I campi elemento vengono utilizzati per visualizzare i metadati per ogni campo. Poiché non vi è alcuna limitazione di valori sugli oggetti campo, le chiavi dei metadati accessibili non contengono alcun elenco di riferimento dei metadati. Gli oggetti campo vengono utilizzati per specificare tutti i metadati del campo ed è possibile specificare qualsiasi altra chiave del campo secondo le proprie esigenze nel progetto. È possibile accedere agli oggetti campo utilizzando l'attributo Item.fields.

Lavorare con gli oggetti

Ci sono alcune funzioni comuni che possono essere definite quando si lavora con gli elementi. Per ulteriori informazioni, fare clic su questo collegamento .

Elementi di estensione

Gli elementi possono essere estesi affermando la sottoclasse dell'elemento originale. Ad esempio:

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

È possibile utilizzare i metadati del campo esistenti per estendere i metadati del campo aggiungendo più valori o modificando i valori esistenti come mostrato nel codice seguente:

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

Oggetti oggetto

Gli oggetti elemento possono essere specificati utilizzando la seguente classe che fornisce il nuovo elemento inizializzato dall'argomento dato -

class scrapy.item.Item([arg])

L'articolo fornisce una copia del costruttore e fornisce un attributo aggiuntivo fornito dagli elementi nei campi.

Oggetti campo

Gli oggetti campo possono essere specificati utilizzando la seguente classe in cui la classe Field non emette il processo o gli attributi aggiuntivi:

class scrapy.item.Field([arg])