Вас «href»‑нули
У попередній вправі ви створили рядок CSS‑локатора, щоб вибрати гіперпосилання (елементи a), які є нащадками всіх елементів div класу "course-block". Тут ми вже створили SelectorList з назвою course_as, вибравши ці дочірні гіперпосилання.
Тепер заповніть пропуск нижче, щоб витягти значення атрибутів href з цих елементів. Це ще один приклад ланцюжіння, як ви бачили в попередній вправі.
Головна ідея: ми можемо поєднувати виклики методів css і xpath в одному ланцюжку! Ми підштовхуємо вас у правильному напрямку, показавши розв'язок, якщо ланцюжити ще один виклик методу css.
Ця вправа є частиною курсу
Вебскрапінг у Python
Інструкції до вправи
- Створіть об'єкт
Selectorпід назвоюsel, передавши рядокhtmlяк текстове джерело. - Присвойте змінній
hrefs_from_xpathзначення атрибутівhrefз елементів уcourse_as. Ваш розв'язок має збігатися зhrefs_from_css!
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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( ____ )