Vous avez été `href`ed
Dans un exercice précédent, vous avez créé une chaîne de localisation CSS pour sélectionner les enfants de l'hyperlien (élémenta ) de tous les éléments div appartenant à la classe "course-block". Nous avons créé un site SelectorList appelé course_as après avoir sélectionné les enfants de l'hyperlien.
Maintenant, nous voulons que vous remplissiez les champs ci-dessous pour extraire les valeurs de l'attribut href de ces éléments. Il s'agit d'un autre exemple de chaînage, comme nous l'avons vu dans un exercice précédent.
L'intérêt est que nous pouvons enchaîner les appels aux méthodes css et xpath, et les combiner ! Nous vous aidons à vous orienter dans la bonne direction en vous donnant la solution si nous enchaînons avec un autre appel à la méthode css.
Cet exercice fait partie du cours
Web Scraping en Python
Instructions
- Configurez l'objet
Selectorselen utilisant la chaînehtmlcomme texte d'entrée. - Attribuez à la variable
hrefs_from_xpathles valeurs d'attributs dehrefprovenant des éléments decourse_as. Votre solution doit correspondre àhrefs_from_css!
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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( ____ )