记录网页抓取数据

时间:2021-05-05 18:25:13

标签: python

大家好,虽然我以文本格式获得了我正在寻找的数据,但当我尝试将其记录为列表或将其转换为数据框时,它根本不起作用。我得到的是一个只有一个项目的巨大列表,这是我得到的数据的最后一行,即数字“9.054.333,18”。任何人都可以帮助我吗?我需要在列表或数据框中组织所有这些数据。

from bs4 import BeautifulSoup
from urllib.request import urlopen
import re

html = urlopen('http://www.b3.com.br/pt_br/market-data-e-indices/servicos-de-dados/market-data/consultas/mercado-a-vista/termo/posicoes-em-aberto/posicoes-em-aberto-8AA8D0CC77D179750177DF167F150965.htm?data=16/04/2021&f=0#conteudo-principal')

soup = BeautifulSoup(html.read(), 'html.parser')

texto = soup.find_all('td')
for t in texto:
    print(t.text)

lista=[]

for i in soup.find_all('td'):
   lista.append(t.text)

print(lista)

1 个答案:

答案 0 :(得分:0)

您的迭代器是错误的——您在最后一个循环中使用了 i,同时附加了 t.text

您可以只使用列表推导式:

# ...

soup = BeautifulSoup(html.read(), 'html.parser')

lista = [t.text for t in soup.find_all('td')]