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
Oefeninstructies
- Zet het
Selector-objectselop met de stringhtmlals tekstinvoer. - Ken aan de variabele
hrefs_from_xpathdehref-attribuutwaarden toe van de elementen incourse_as. Je oplossing moet overeenkomen methrefs_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( ____ )