Erste SchritteKostenlos loslegen

Crawler-Zeit

Dies ist deine erste Chance, mit einem Spider zu spielen, der zwischen den Websites crawlt (indem er zuerst Links von einer Website sammelt und diesen Links folgt, um neue Websites zu analysieren). Dieser Spider beginnt mit dem verkürzten DataCamp-Kursverzeichnis und extrahiert dann die Links der Kurse mit der Methode parse. Von dort aus folgt er diesen Links, um die Kursbeschreibungen von jeder Kursseite mit der Methode parse_descr zu extrahieren und diese Beschreibungen in die Liste course_descrs zu stellen. Deine Aufgabe ist es, den Code so zu vervollständigen, dass der Spider wie gewünscht läuft!

Wir haben eine Funktion inspect_spider erstellt, mit der du eine der Kursbeschreibungen ausdrucken kannst (wenn du es richtig machst)!

Diese Übung ist Teil des Kurses

Web Scraping in Python

Kurs anzeigen

Anleitung zur Übung

  • Fülle die beiden Lücken unten (eine in jeder der Parsing-Methoden) mit den entsprechenden Einträgen aus, damit der Spider von der ersten Parsing-Methode zur zweiten korrekt wechseln kann.

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

# 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 )
Bearbeiten und Ausführen von Code