Hạn chế của html_table() với các bảng có cấu trúc kém
Đôi khi, bạn chỉ muốn chọn phần văn bản là con trực tiếp của một phần tử cha. Tuy nhiên, trong bảng ví dụ sau, chính tên vai diễn lại được bọc trong thẻ em. Bên cạnh đó, phần chức năng, ví dụ "Voice", cũng nằm trong cùng phần tử td với phần em, điều này không tối ưu khi truy vấn dữ liệu.
Đoạn trích từ mã HTML như sau:
<table>
<tr>
<th>Actor</th>
<th>Role</th>
</tr>
<tr>
<td class = "actor">Jayden Carpenter</td>
<td class = "role"><em>Mickey Mouse</em> (Voice)</td>
</tr>
...
</table>
Trong bài tập này, bạn sẽ thử trích xuất bảng bằng một hàm rvest quen thuộc. Qua đó, bạn sẽ nhận ra những giới hạn của cách làm này.
Biến roles_html chứa tài liệu có bảng nói trên.
Bài tập này là một phần của khóa học
Web Scraping bằng R
Hướng dẫn bài tập
- Hãy thử trích xuất một data frame từ bảng bằng hàm bạn đã học ở chương đầu tiên.
- Xem kết quả data frame thu được.
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.
# Extract the data frame from the table using a known function from rvest
roles <- roles_html %>%
html_element(xpath = "//___") %>%
___()
# Print the contents of the role data frame
___