LoslegenKostenlos loslegen

Antworten mit Selektoren

Was wir an dieser Stelle über die Beziehung zwischen den Objekten Selector und Response betonen sollten, ist, dass beide Objekte eine SelectorList zurückgeben, wenn sie die Methoden xpath oder css verwenden, um auf Elemente zu verweisen. In dieser Aufgabe werden wir es dir beweisen, indem wir dich alle Hyperlink-Elemente der Klasse course-block__link (beachte den doppelten Unterstrich!) finden lassen und uns das Objekt ansehen, das dabei entsteht.

Um ein Element nach Klasse zu finden, kannst du einen Punkt (.) verwenden. Zum Beispiel wählt div.class-2 alle div-Elemente aus, die zu class-2 gehören.

Wir haben sowohl ein Response-Objekt namens response als auch ein Selector-Objekt namens sel mit dem Inhalt derselben „geheimen“ Website vorgeladen. Wenn du die Aufgabe, einen CSS Locator zu erstellen, abgeschlossen hast, wirst du die Ausgaben von response.css und selector.css vergleichen und feststellen, dass sie tatsächlich identisch sind!

Diese Übung ist Teil des Kurses

Web Scraping in Python

Kurs anzeigen

Anleitung zur Übung

  • Weise der Variable css_locator einen CSS Locator-String zu, der auf alle a-Hyperlink-Elemente verweist, die zur Klasse course-block__link gehören.
  • Weise der Variable response_as die Ausgabe zu, die entsteht, wenn du die Variable css_locator an die Methode css in response übergibst.
  • Weise der Variable sel_as die Ausgabe zu, die entsteht, wenn du die Variable css_locator an die Methode css in sel übergibst.

Interaktive Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# Create a CSS Locator string to the desired hyperlink elements
css_locator = ____

# Select the hyperlink elements from response and sel
response_as = ____
sel_as = ____

# Examine similarity
nr = len( response_as )
ns = len( sel_as )
for i in range( min(nr, ns, 2) ):
  print( "Element %d from response: %s" % (i+1, response_as[i]) )
  print( "Element %d from sel: %s" % (i+1, sel_as[i]) )
  print( "" )
Code bearbeiten und ausführen