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

Một bộ trích xuất khác

Ở bài tập trước, chúng ta đã xây dựng một hàm có thể trích xuất nội dung văn bản từ các thẻ tiêu đề H2.

Giờ thử một bài khác: chúng ta muốn trích xuất tất cả các liên kết có trên một trang cụ thể. Để làm điều này, bạn sẽ cần gọi hai hàm của httr: html_nodes() với đối số css đặt là "a" (a là thẻ HTML dành cho liên kết) và html_attr(), hàm này trích xuất một thuộc tính nhất định từ một node — trong trường hợp của chúng ta, thuộc tính đó sẽ là "href", tức địa chỉ liên kết.

purrrrvest đã được nạp sẵn cho bạn. Bạn vẫn có thể tìm thấy vector urls trong không gian làm việc của mình.

Bài tập này là một phần của khóa học

Lập trình hàm nâng cao với purrr

Xem khóa học

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

  • Điền sẵn đối số css"a" cho html_nodes().

  • Tạo hàm href(), là phiên bản đã điền sẵn của html_attr().

  • Kết hợp theo thứ tự mới giữa href(), get_a()read_html() bằng cách compose.

  • Dùng map áp dụng hàm mới này lên vector urls.

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.

# Create a partial version of html_nodes(), with the css param set to "a"
get_a <- ___(html_nodes, ___)

# Create href(), a partial version of html_attr()
href <- ___(___, name = "href")

# Combine href(), get_a(), and read_html()
get_links <- ___(___, ___, ___)

# Map get_links() to the urls list
res <- ___(urls, ___) %>%
  set_names(urls)

# See the result
res
Chỉnh sửa và Chạy Mã