IniziaInizia gratis

È ora di fare crawling

Questa è la tua prima occasione per usare uno spider che esegue il crawling tra siti (prima raccogliendo i link da un sito e poi seguendoli per analizzare nuove pagine). Questo spider parte dalla directory abbreviata dei corsi di DataCamp, quindi estrae i link dei corsi nel metodo parse; da lì, seguirà quei link per estrarre le descrizioni dei corsi da ciascuna pagina corso nel metodo parse_descr, e inserirà queste descrizioni nella lista course_descrs. Il tuo compito è completare il codice in modo che lo spider funzioni come desiderato!

Abbiamo creato una funzione inspect_spider che stamperà una delle descrizioni dei corsi che avrai estratto (se fatto correttamente)!

Questo esercizio fa parte del corso

Web Scraping in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Compila i due spazi vuoti qui sotto (uno in ciascun metodo di parsing) con le voci appropriate, in modo che lo spider possa passare correttamente dal primo metodo di parsing al secondo.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Import the scrapy library
import scrapy

# Create the Spider class
class DCdescr( scrapy.Spider ):
  name = 'dcdescr'
  # start_requests method
  def start_requests( self ):
    yield scrapy.Request( url = url_short, callback = self.parse )
  
  # First parse method
  def parse( self, response ):
    links = response.css( 'div.course-block > a::attr(href)' ).extract()
    # Follow each of the extracted links
    for link in links:
      yield ____
      
  # Second parsing method
  def parse_descr( ____ ):
    # Extract course description
    course_descr = response.css( 'p.course__description::text' ).extract_first()
    # For now, just yield the course description
    yield course_descr


# Inspect the spider
inspect_spider( DCdescr )
Modifica ed esegui il codice