On vous a `href`é
Dans un exercice précédent, vous avez créé une chaîne de repérage CSS (CSS Locator) pour sélectionner les hyperliens (éléments a) enfants de tous les éléments div appartenant à la classe "course-block". Ici, nous avons créé une SelectorList appelée course_as après avoir sélectionné ces hyperliens enfants.
Maintenant, à vous de compléter l'espace ci-dessous pour extraire les valeurs de l'attribut href de ces éléments. C'est un autre exemple d'enchaînement, comme on l'a vu dans un exercice précédent.
L'idée, c'est que nous pouvons enchaîner des appels aux méthodes css et xpath, et même les combiner ! Nous vous mettons sur la bonne piste en vous donnant la solution si l'on enchaîne avec un autre appel à la méthode css.
Cette activité fait partie du cours
Extraction de données Web en Python
Instructions de l’exercice
- Créez l'objet
Selectorselen utilisant la chaînehtmlcomme entrée de texte. - Attribuez à la variable
hrefs_from_xpathles valeurs de l'attributhrefprovenant des éléments danscourse_as. Votre solution doit correspondre àhrefs_from_css!
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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( ____ )