CommencezCommencez gratuitement

C'est l'heure du robot d'exploration

Voici votre première occasion d'expérimenter avec une araignée qui va parcourir plusieurs sites (elle commence par recueillir des liens sur un site, puis suit ces liens pour analyser de nouvelles pages). Cette araignée démarre à l'adresse abrégée de l'annuaire des cours de DataCamp, puis extrait les liens des cours dans la méthode parse. À partir de là, elle suivra ces liens pour extraire les descriptions de cours sur chaque page à l'aide de la méthode parse_descr, et placera ces descriptions dans la liste course_descrs. Votre tâche consiste à compléter le code pour que l'araignée fonctionne comme prévu!

Nous avons créé une fonction inspect_spider qui affichera l'une des descriptions de cours que vous aurez récupérées (si tout est fait correctement)!

Cette activité fait partie du cours

Extraction de données Web en Python

Voir le cours

Instructions de l’exercice

  • Remplissez les deux espaces vides ci-dessous (un dans chacune des méthodes d'analyse) avec les éléments appropriés afin que l'araignée puisse passer correctement de la première méthode d'analyse à la seconde.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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 )
Modifier et exécuter le code