1
resposta

Erro ao tentar executar importação HTML

Boa noite! Ao tentar executar um comando de importação de dados a partir de uma página html, tive o seguinte erro. O que devo fazer?

'ImportError Traceback (most recent call last) in ----> 1 df_html = pd.read_html('https://www.federalreserve.gov/releases/h3/current/default.html')

~\anaconda3\envs\alura_pandas\lib\site-packages\pandas\io\html.py in read_html(io, match, flavor, header, index_col, skiprows, attrs, parse_dates, tupleize_cols, thousands, encoding, decimal, converters, na_values, keep_default_na) 913 thousands=thousands, attrs=attrs, encoding=encoding, 914 decimal=decimal, converters=converters, na_values=na_values, --> 915 keep_default_na=keep_default_na)

~\anaconda3\envs\alura_pandas\lib\site-packages\pandas\io\html.py in parse(flavor, io, match, attrs, encoding, **kwargs) 737 retained = None 738 for flav in flavor: --> 739 parser = _parserdispatch(flav) 740 p = parser(io, compiled_match, attrs, encoding) 741

~\anaconda3\envs\alura_pandas\lib\site-packages\pandas\io\html.py in parserdispatch(flavor) 695 else: 696 if not HASLXML: --> 697 raise ImportError("lxml not found, please install it") 698 return validparsers[flavor] 699

ImportError: lxml not found, please install it'

1 resposta

Oi Leonardo,

A função read_html funciona apenas em casos mais simples. Em boa parte das situações precisamos usar outras ferramentas para obter as informações de uma página. No seu caso uma forma de acessar as tabelas seria assim:


import requests
from bs4 import BeautifulSoup
import pandas as pd

url='https://www.federalreserve.gov/releases/h3/current/default.htm'
response = requests.get(url)
html = response.content
soup = BeautifulSoup(html, 'html.parser')
table = soup.findAll('table')
html_file = f'<html><body>{table}</body></html>'
df = pd.read_html(html_file)

# Como a função read_html retorna uma lista de DataFrames, basta acessar as tabelas pelos índices da lista.
# Como temos três tabelas na página usamos os índices 0, 1 ou 2 para acessar os DataFrames que buscamos
df[0]

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeEm nossa plataforma temos um curso de Web Scraping que pode te ajudar em projetos futuros nessa área.

Espero ter ajudado

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software