2
respostas

Problemas para importar HTML

Olá pessoal! Tudo bem?

Sou novo por aqui. Estou com dificuldades para importar dados HTML pelo Jupyter conforme as instruções apresetadas em aula. Eu já instalei pelo CMD os seguintes comandos mas ainda não funciona:

pip install bs4 pip install html5lib pip3 install bs4 pip3 install lxml conda install lxml

Vejam o erro:


ValueError Traceback (most recent call last) in ----> 1 df_html = pd.read_html('https://unafiscosaude.org.br/site/tabelas-de-precos-dos-planos-ativos-para-comercializacao/') 2 df_html[0]

~\anaconda3\lib\site-packages\pandas\util_decorators.py in wrapper(args, **kwargs) 297 ) 298 warnings.warn(msg, FutureWarning, stacklevel=stacklevel) --> 299 return func(args, **kwargs) 300 301 return wrapper

~\anaconda3\lib\site-packages\pandas\io\html.py in read_html(io, match, flavor, header, index_col, skiprows, attrs, parse_dates, thousands, encoding, decimal, converters, na_values, keep_default_na, displayed_only) 1083 io = stringify_path(io) 1084 -> 1085 return _parse( 1086 flavor=flavor, 1087 io=io,

~\anaconda3\lib\site-packages\pandas\io\html.py in parse(flavor, io, match, attrs, encoding, displayedonly, **kwargs) 911 else: 912 assert retained is not None # for mypy --> 913 raise retained 914 915 ret = []

~\anaconda3\lib\site-packages\pandas\io\html.py in parse(flavor, io, match, attrs, encoding, displayedonly, **kwargs) 891 892 try: --> 893 tables = p.parse_tables() 894 except ValueError as caught: 895 # if io is an io-like object, check if it's seekable

~\anaconda3\lib\site-packages\pandas\io\html.py in parse_tables(self) 211 list of parsed (header, body, footer) tuples from tables. 212 """ --> 213 tables = self.parsetables(self.builddoc(), self.match, self.attrs) 214 return (self.parsethead_tbody_tfoot(table) for table in tables) 215

~\anaconda3\lib\site-packages\pandas\io\html.py in parsetables(self, doc, match, attrs) 541 542 if not tables: --> 543 raise ValueError("No tables found") 544 545 result = []

ValueError: No tables found

Muito obrigado!!
2 respostas

Boas Emidio! Tudo bem? Espero que sim.

Quando eu tento abrir o link que você está tentando acessar, não encontro nenhuma tabela. O pandas.read_html só conseque fazer a coleta automática de tablelas simples, geradas estaticamente, mas nesse caso, creio que a uri esteja errada, pois ao abrir especificamente este link, não carrega nenhuma tabela.

Print da tela para qual o usuário é redirecionado ao clickar no link indicado para a função pandas.read_html. Vê-se a estrutura da página html , um título escrito 'Tabela de preços dos planos ativos para comercialização, mas não há tabela em si

Obs: estou usando o navegardor Opera na sua versão mais atualizada.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!

Oi Pedro!! Tudo bem!! E ctg??

Primeiramente, muito obrigado pelo pronto retorno. Verifiquei o site e realmente os dados não estão aparecendo. Me perdoe o equívoco. No entanto, tentei fazer o exercício pronto a partir do arquivo html salvo (e disponibilizado) pelo professor, mas ocorreu um erro bastante semelhante. Por favor, veja abaixo. Desde já, muito obrigado por sua disponibilidade e ajuda. Abraços!

df_html = pd.read_html('dados_html_1.html') df_html[0]


ValueError Traceback (most recent call last) in ----> 1 df_html = pd.read_html('dados_html_1.html') 2 df_html[0]

~\anaconda3\lib\site-packages\pandas\util_decorators.py in wrapper(args, **kwargs) 297 ) 298 warnings.warn(msg, FutureWarning, stacklevel=stacklevel) --> 299 return func(args, **kwargs) 300 301 return wrapper

~\anaconda3\lib\site-packages\pandas\io\html.py in read_html(io, match, flavor, header, index_col, skiprows, attrs, parse_dates, thousands, encoding, decimal, converters, na_values, keep_default_na, displayed_only) 1083 io = stringify_path(io) 1084 -> 1085 return _parse( 1086 flavor=flavor, 1087 io=io,

~\anaconda3\lib\site-packages\pandas\io\html.py in parse(flavor, io, match, attrs, encoding, displayedonly, **kwargs) 911 else: 912 assert retained is not None # for mypy --> 913 raise retained 914 915 ret = []

~\anaconda3\lib\site-packages\pandas\io\html.py in parse(flavor, io, match, attrs, encoding, displayedonly, **kwargs) 891 892 try: --> 893 tables = p.parse_tables() 894 except ValueError as caught: 895 # if io is an io-like object, check if it's seekable

~\anaconda3\lib\site-packages\pandas\io\html.py in parse_tables(self) 211 list of parsed (header, body, footer) tuples from tables. 212 """ --> 213 tables = self.parsetables(self.builddoc(), self.match, self.attrs) 214 return (self.parsethead_tbody_tfoot(table) for table in tables) 215

~\anaconda3\lib\site-packages\pandas\io\html.py in parsetables(self, doc, match, attrs) 541 542 if not tables: --> 543 raise ValueError("No tables found") 544 545 result = []

ValueError: No tables found