Keterbatasan html_table() pada tabel yang strukturnya buruk
Terkadang, Anda hanya ingin memilih teks yang merupakan turunan langsung dari suatu elemen induk. Namun, pada contoh tabel berikut, nama peran itu sendiri dibungkus dalam tag em. Sementara fungsinya, misalnya "Voice", juga terdapat dalam elemen td yang sama dengan bagian em, yang kurang ideal untuk melakukan kueri data.
Berikut cuplikan kode HTML-nya:
<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>
Dalam latihan ini, Anda akan mencoba melakukan scraping terhadap tabel menggunakan fungsi rvest yang sudah Anda kenal. Dengan demikian, Anda akan memahami keterbatasannya.
Variabel roles_html berisi dokumen dengan tabel tersebut.
Latihan ini adalah bagian dari kursus
Web Scraping di R
Petunjuk latihan
- Cobalah mengekstrak sebuah data frame dari tabel menggunakan fungsi yang telah Anda pelajari di bab pertama.
- Periksa data frame yang dihasilkan.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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
___