Začněte nyníZačněte zdarma

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

Zobrazit kurz

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
Upravit a spustit kód