Очистка данных из таблицы html

#python #pandas #web-scraping

#python #панды #веб-очистка

Вопрос:

Я пытаюсь очистить таблицу с сайта B3, но в результате получается пустой фрейм данных.

Что не так?

 import pandas as pd
url = "http://www2.bmf.com.br/pages/portal/bmfbovespa/lumis/lum-taxas-referenciais-bmf-ptBR.asp?Data=31/08/2020amp;Data1=20200831amp;slcTaxa=PRE"
df  = pd.read_html(io=url)
print (df)
  

Комментарии:

1. Возможно, сайт блокирует user-agent, который поступает от бота

Ответ №1:

По умолчанию используется синтаксический read_html анализатор lxml, который не может проанализировать ваш документ. Переключение на html5lib (Beautifulsoup 4) делает свое дело.

Ниже приведен ваш код с добавлением параметра flavor.

 import pandas as pd
url = "http://www2.bmf.com.br/pages/portal/bmfbovespa/lumis/lum-taxas-referenciais-bmf-ptBR.asp?Data=31/08/2020amp;Data1=20200831amp;slcTaxa=PRE"
df  = pd.read_html(io=url, flavor='bs4')
print (df)

[    Dias Corridos  DI x pré       
    Dias Corridos 252(2)(4) 360(1)
0               1       190      0
1               8       191    171
2              11       191    199
283         10760       848    832
284         10801       848    832
285         10941       848    833
286         12677       854    838

[287 rows x 3 columns]]