Bộ trích xuất nội dung
Trong các bài trước, bạn đã xác nhận rằng tất cả phần tử trong vector URLs được cung cấp đều trả về mã trạng thái 200. Giờ khi biết chúng có thể truy cập, bạn sẽ đi sâu hơn vào web scraping bằng cách trích xuất nội dung.
Để làm việc này, chúng ta sẽ dùng các hàm từ gói rvest, và sẽ được điền sẵn đối số bằng partial(). Các hàm bạn viết trong bài này sẽ trích xuất tất cả nút HTML H2 từ một trang — trên trang web, các nút H2 tương ứng với tiêu đề cấp 2. Sau khi lấy được các tiêu đề này, hàm html_text() sẽ được dùng để trích nội dung văn bản từ HTML thô.
purrr và rvest đã được nạp sẵn, và vector urls có sẵn trong môi trường làm việc của bạn.
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
Hướng dẫn bài tập
Bắt đầu bằng cách điền sẵn cho
html_nodes()đối sốcss = "h2".Kết hợp hàm vừa tạo này giữa
read_htmlvàhtml_textđể tạo một hàm trích xuất văn bản cho các tiêu đềH2.Chạy hàm này trên vector
urlsvà đặt tên cho kết quả.In kết quả ra để xem nó trông như thế nào.
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.
# Prefill html_nodes() with the css param set to h2
get_h2 <- ___(html_nodes, ___)
# Combine the html_text, get_h2 and read_html functions
get_content <- ___(___, ___, ___)
# Map get_content to the urls list
res <- ___(urls, ___) %>%
set_names(___)
# Print the results to the console
___