ComeçarComece gratuitamente

Tempo do rastreador

Essa será sua primeira chance de brincar com um spider que rastreará entre sites (primeiro coletando links de um site e seguindo esses links para analisar novos sites). Esse spider começa no diretório reduzido de cursos do DataCamp e, em seguida, extrai os links dos cursos no método parse; a partir daí, ele segue esses links para extrair as descrições dos cursos de cada página do curso no método parse_descr e coloca essas descrições na lista course_descrs. Seu trabalho é completar o código para que o spider seja executado conforme desejado!

Criamos uma função chamada inspect_spider que imprime uma das descrições de curso que você extrair (se isso for feito corretamente)!

Este exercício faz parte do curso

Raspagem da Web em Python

Ver Curso

Instruções de exercício

  • Preencha os dois espaços em branco abaixo (um em cada um dos métodos de análise) com as entradas aplicáveis para que o spider possa passar do primeiro método de análise para o segundo corretamente.

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

# 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 )
Editar e executar código