Aan de slagGa gratis aan de slag

Je bent `href`ed

In een eerdere oefening maakte je een CSS Locator-string om de hyperlinkkinderen (a-elementen) te selecteren van alle div-elementen met de klasse "course-block". Hier hebben we een SelectorList gemaakt met de naam course_as waarin die hyperlinkkinderen geselecteerd zijn.

Nu willen we dat je hieronder de lege plek invult om de href-attribuutwaarden uit deze elementen te halen. Dit is weer een voorbeeld van chainen, zoals we in een vorige oefening zagen.

Het idee is dat we aanroepen van de methoden css en xpath aan elkaar kunnen koppelen, en zelfs kunnen combineren! We geven je een duwtje in de goede richting door je de oplossing te geven als we verder chainen met nog een aanroep van de css-methode.

Deze oefening maakt deel uit van de cursus

Webscraping in Python

Cursus bekijken

Oefeninstructies

  • Zet het Selector-object sel op met de string html als tekstinvoer.
  • Ken aan de variabele hrefs_from_xpath de href-attribuutwaarden toe van de elementen in course_as. Je oplossing moet overeenkomen met hrefs_from_css!

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

from scrapy import Selector

# Create a selector object from a secret website
sel = Selector( ____ )

# Select all hyperlinks of div elements belonging to class "course-block"
course_as = sel.css( 'div.course-block > a' )

# Selecting all href attributes chaining with css
hrefs_from_css = course_as.css( '::attr(href)' )

# Selecting all href attributes chaining with xpath
hrefs_from_xpath = course_as.xpath( ____ )
Code bewerken en uitvoeren