Bắt đầu ngayBắt đầu miễn phí

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 cssxpath, 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

Xem khóa học

Hướng dẫn bài tập

  • Thiết lập đối tượng Selectorsel bằng cách dùng chuỗi html làm đầu vào văn bản.
  • Gán cho biến hrefs_from_xpath các giá trị thuộc tính href từ các phần tử trong course_as. Lời giải của bạn phải khớp với hrefs_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( ____ )
Chỉnh sửa và Chạy Mã