Czas na `href`
W poprzednim ćwiczeniu utworzyłeś ciąg znaków CSS Locator, który wybiera dzieci będące hiperłączami (element a) wszystkich elementów div należących do klasy "course-block". Tutaj przygotowaliśmy SelectorList o nazwie course_as, która zawiera te wybrane hiperłącza.
Teraz uzupełnij poniższą lukę, aby wyodrębnić wartości atrybutu href z tych elementów. To kolejny przykład łączenia (chaining), podobny do tego, co widziałeś w poprzednim ćwiczeniu.
Chodzi o to, że możesz łączyć ze sobą wywołania metod css i xpath i łączyć je razem! Aby naprowadzić cię na właściwy kierunek, podajemy rozwiązanie z użyciem kolejnego wywołania metody css.
To ćwiczenie jest częścią kursu
Web Scraping w Pythonie
Instrukcje do ćwiczenia
- Utwórz obiekt
Selectoro nazwiesel, używając ciąguhtmljako danych wejściowych. - Przypisz do zmiennej
hrefs_from_xpathwartości atrybutuhrefz elementów zawartych wcourse_as. Twoje rozwiązanie powinno być zgodne zhrefs_from_css!
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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( ____ )