Te han `href`ado
En un ejercicio anterior, creaste una cadena de localización CSS para seleccionar los hipervínculos (elemento a) hijos de todos los elementos div pertenecientes a la clase "course-block". Aquí hemos creado un SelectorList llamado course_as habiendo seleccionado esos hipervínculos hijos.
Ahora, queremos que rellenes el siguiente espacio en blanco para extraer los valores del atributo href de estos elementos. Este es otro ejemplo de encadenamiento, como hemos visto en un ejercicio anterior.
La cuestión aquí es que podemos encadenar las llamadas a los métodos css y xpath, ¡y combinarlos! Te ayudamos a orientarte en la dirección correcta dándote la solución si encadenamos con otra llamada al método css.
Este ejercicio forma parte del curso
Web scraping en Python
Instrucciones del ejercicio
- Configura el objeto
Selectorselutilizando la cadenahtmlcomo entrada de texto. - Asigna a la variable
hrefs_from_xpathlos valores de los atributoshrefde los elementos decourse_as. ¡Tu solución debe coincidir conhrefs_from_css!
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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( ____ )