CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Créez l'objet Selector sel en utilisant la chaîne html comme entrée de texte.
  • Attribuez à la variable hrefs_from_xpath les valeurs de l'attribut href provenant des éléments dans course_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( ____ )
Modifier et exécuter le code