Přímý výběr z nadřazeného prvku pomocí funkce text() v XPATHu
V tomto cvičení budeš pracovat se stejnou tabulkou. Tentokrát ale z ní vytáhneš informace o funkci v závorkách do samostatného sloupce – výsledný datový rámec tedy bude mít ne dva, ale tři sloupce: herce, role a funkce.
K tomu budeš potřebovat konkrétní funkci XPATHu, kterou jsme si ukázali ve videu, místo funkce html_table(). Ta totiž v praxi často nefunguje správně, pokud HTML element table není dobře strukturovaný – což je právě náš případ.
Pro připomenutí, tady je výňatek z HTML kódu tabulky:
<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í obsahuje proměnná roles_html HTML dokument s jeho elementem table.
Toto cvičení je součástí kurzu
Web Scraping v R
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 actors in the cells having class "actor"
actors <- roles_html %>%
html_elements(xpath = '//table//td[@class = "actor"]') %>%
html_text()
actors
# Extract the roles in the cells having class "role"
roles <- roles_html %>%
html_elements(xpath = '//table//td[@class = "___"]/___') %>%
___()
roles