Kom igångKom igång gratis

Dags att krypa

Nu får du chansen att testa en spindel som kryper mellan sidor – den samlar först in länkar från en sida och följer sedan dessa för att parsa nya sidor. Spindeln börjar på DataCamps förkortade kurskatalog, extraherar kurslänkarna i metoden parse och följer sedan dessa länkar för att hämta kursbeskrivningarna från varje kurssida i metoden parse_descr. Beskrivningarna samlas i listan course_descrs. Din uppgift är att färdigställa koden så att spindeln fungerar som avsett!

Vi har skapat en funktion inspect_spider som skriver ut en av de kursbeskrivningar du skrapar – förutsatt att allt är korrekt!

Den här övningen är en del av kursen

Webbskrapning i Python

Visa kurs

Övningsinstruktioner

  • Fyll i de två tomma fälten nedan (ett i varje parsningsmetod) med rätt värden, så att spindeln kan röra sig korrekt från den första parsningsmetoden till den andra.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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 )
Redigera och kör kod