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
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 )