Guest User

Untitled

a guest
Nov 23rd, 2017
393
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.23 KB | None | 0 0
  1. import scrapy #Importamos scrapy
  2.  
  3.  
  4. class QuotesSpider(scrapy.Spider):
  5.     name = "follow"     #Aqui indicamos el nombre unico para la clase spider, este nombre será
  6.                         #Utilizado para ejecutar la aplicacion desde la linea de comandos.
  7.     start_urls = [      #Aqui indicamos las urls de las que queremos extraer la informacion
  8.         'http://quotes.toscrape.com/page/1/',
  9.     ]
  10.  
  11.     def parse(self, response):                      #Este metodo se encarga de extraer la información que queramos
  12.         for quote in response.css('div.quote'):     # Creamos un bucle que recorra cada elemento selecionado
  13.                                                     # mediante un selector css en este caso cada quote sera un div
  14.                                                     # de una web el cual tiene otras equitas dentro
  15.  
  16.             yield {
  17.                 'text': quote.css('span.text::text').extract_first(),           # Selecionamos dentro del div mencionado anteriormente
  18.                                                                                 # los elementos
  19.                 'author': quote.css('span small::text').extract_first(),        #  que nos interesen.
  20.                 'tags': quote.css('div.tags a.tag::text').extract(),            # Siempre seleccionado mediante selectores css y el
  21.                                                                                 # metodo extract() o
  22.             }                                                                   # extract_first() nos devolveria el valor.
  23.  
  24.         next_page = response.css('li.next a::attr(href)').extract_first()       # Esta linea se encarga de extraer la url de la
  25.                                                                                 #siguiente pagina
  26.         if next_page is not None:                                               # Comprueba si existe un siguiente enlace
  27.             yield response.follow(next_page, callback=self.parse)               # Aqui con la funcion follow vuelve a llamar a la
  28.                                                                                 #funcion parse
  29.                                                                                 # Pasandole la url de la siguiente pagina.
Advertisement
Add Comment
Please, Sign In to add comment