Omezení funkce html_table() při špatně strukturovaných tabulkách
Někdy chceš vybrat pouze text, který je přímým potomkem nadřazeného elementu. V následující ukázkové tabulce je však název role zabalený do tagu em. Její typ, například „Voice", je přitom obsažen ve stejném elementu td jako část s em, což dotazování na tato data příliš neusnadňuje.
Ukázka HTML kódu:
<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>
V tomto cvičení zkusíš tabulku scrapovat pomocí funkce z balíčku rvest, kterou už znáš. Přesvědčíš se tak na vlastní oči, jaká jsou její omezení.
Proměnná roles_html obsahuje dokument s touto tabulkou.
Toto cvičení je součástí kurzu
Web Scraping v R
Pokyny k cvičení
- Zkus z tabulky extrahovat datový rámec pomocí funkce, kterou ses naučil/a v první kapitole.
- Prohlédni si výsledný datový rámec.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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
___