Sei stato `href`-izzato
In un esercizio precedente, hai creato una stringa di CSS Locator per selezionare i figli collegamento ipertestuale (elementi a) di tutti gli elementi div appartenenti alla classe "course-block". Qui abbiamo creato una SelectorList chiamata course_as selezionando proprio quei figli collegamento.
Ora vogliamo che tu compili lo spazio vuoto qui sotto per estrarre i valori dell’attributo href da questi elementi. È un altro esempio di concatenazione, come abbiamo visto in un esercizio precedente.
L’idea è che possiamo concatenare le chiamate ai metodi css e xpath, e anche combinarle! Ti diamo una spinta nella direzione giusta fornendoti la soluzione nel caso in cui concateni con un’altra chiamata al metodo css.
Questo esercizio fa parte del corso
Web Scraping in Python
Istruzioni dell'esercizio
- Crea l’oggetto
Selectorselusando la stringahtmlcome input di testo. - Assegna alla variabile
hrefs_from_xpathi valori dell’attributohrefdagli elementi incourse_as. La tua soluzione deve coincidere conhrefs_from_css!
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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( ____ )