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

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

Zobrazit kurz

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