Python Selenium - jak načíst všechna data z tabulky?
Dobrý den, jaká je nejjednodušší varianta pro načtení všech dat z webové tabulky (table)? Potřebuji získat veškerý obsah z každé řádky (tr) a každého sloupce (td) pomocí Python Selenium. Tipuji to na nějaký cyklus a hledání pole elementů pomocí HTML tagu (find_elements_by_tag_name). Děkuji
Dobrý den,
základní konstrukce pro stažení dat z tabulky v HTML stránce pomocí Python Selenium by mohla vypadat takto:
Zkráceně: Nalezne element 'table', načte všechny elementy 'tr' a ty projdou cyklem. V cyklu je další cyklus na přečtení všech sloupců 'td'.
Pro zajímavost další příklady pro sběr dat z tabulek v HTML stránce pomocí Python Selenium:
ODPOVĚĎ
Dobrý den,
základní konstrukce pro stažení dat z tabulky v HTML stránce pomocí Python Selenium by mohla vypadat takto:
table = driver.find_element_by_tag_name('table')
rows = table.find_elements_by_tag_name('tr')
for row in rows:
cols = row.find_elements_by_tag_name('td')
for col in cols:
print(col.text)
Zkráceně: Nalezne element 'table', načte všechny elementy 'tr' a ty projdou cyklem. V cyklu je další cyklus na přečtení všech sloupců 'td'.
Pro zajímavost další příklady pro sběr dat z tabulek v HTML stránce pomocí Python Selenium:
Načíst všechny tabulky ve stránce
def getTables:
tables = driver.find_elements_by_tag_name('table')
count = len(tables)
print('Pocet tabulek: ', count)
for table in tables:
print(table.text)
Rozdíl mezi text / innerHTML
# jen čistá data mezi HTML tagy (bez HTML)
print(table.text))
# kompletní "raw" data (včetně HTML tagů)
print(table.get_attribute('innerHTML'))