Bạn đã bị `href`-ed
Ở một bài tập trước, bạn đã tạo một chuỗi CSS Locator để chọn các phần tử liên kết (a) là con của tất cả các phần tử div thuộc lớp "course-block". Ở đây, chúng tôi đã tạo một SelectorList tên là course_as sau khi chọn các liên kết con đó.
Giờ, bạn hãy điền vào chỗ trống bên dưới để trích xuất các giá trị thuộc tính href từ những phần tử này. Đây là một ví dụ khác về kỹ thuật chaining, như bạn đã thấy ở bài tập trước.
Điểm mấu chốt là chúng ta có thể nối chuỗi các lời gọi phương thức css và xpath, và thậm chí kết hợp chúng! Chúng tôi gợi ý hướng đúng bằng cách cung cấp lời giải nếu bạn nối chuỗi với một lần gọi css khác.
Bài tập này là một phần của khóa học
Web Scraping với Python
Hướng dẫn bài tập
- Thiết lập đối tượng
Selectorlàselbằng cách dùng chuỗihtmllàm đầu vào văn bản. - Gán cho biến
hrefs_from_xpathcác giá trị thuộc tínhhreftừ các phần tử trongcourse_as. Lời giải của bạn phải khớp vớihrefs_from_css!
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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( ____ )