CommencerCommencer gratuitement

Temps d'utilisation du crawler

Il s'agit de votre première occasion de jouer avec un robot d'indexation qui passe d'un site à l'autre (en collectant d'abord les liens d'un site, puis en suivant ces liens pour analyser les nouveaux sites). Cette araignée commence par le répertoire abrégé des cours de DataCamp, puis extrait les liens des cours selon la méthode parse; à partir de là, elle suit ces liens pour extraire les descriptions des cours de chaque page de cours selon la méthode parse_descr, et place ces descriptions dans la liste course_descrs. Votre tâche consiste à compléter le code pour que l'araignée fonctionne comme vous le souhaitez !

Nous avons créé une fonction inspect_spider qui imprimera l'une des descriptions de cours que vous récupérez (si vous le faites correctement) !

Cet exercice fait partie du cours

Web Scraping en Python

Afficher le cours

Instructions

  • Remplissez les deux espaces vides ci-dessous (un dans chacune des méthodes d'analyse) avec les entrées appropriées 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 cet exemple de code.

# 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