Python 3 html表d

2024-10-06 15:26:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python新手,我需要从 Webpage并发送到列表。在

我什么都试过了,最棒的是:

f = urllib.request.urlopen(url)
url = "http://www2.bmf.com.br/pages/portal/bmfbovespa/lumis/lum-taxas-referenciais-bmf-enUS.asp?Data=11/22/2017&Data1=20171122&slcTaxa=APR#"
soup = BeautifulSoup(urllib.request.urlopen(url).read(),'lxml')
rows=list()
for tr in soup.findAll('table'):
    rows.append(tr)

有什么建议吗?在


Tags: brcomhttpurl列表requesturllibtr
2条回答

网页末尾有一个下载选项。如果你可以手动下载文件,你就可以开始了。在

如果您想自动访问不同的日期,而且是JavaScript,我建议使用Selenium通过Python下载xlsx文件。在

对于xlsx文件,您可以使用Xlsxwriter读取数据并执行您想要的操作。在

你没那么远!在

首先,确保导入正确版本的BeautifulSoup4,方法是执行apt-get install python3-bs4(假设您使用的是Ubuntu或Debian并运行python3)。在

然后隔离html tabletd元素并稍微清理数据。例如,删除列表中无用的前3个元素,并删除丑陋的'\n':

import urllib
from bs4 import BeautifulSoup
url = "http://www2.bmf.com.br/pages/portal/bmfbovespa/lumis/lum-taxas-referenciais-bmf-enUS.asp?Data=11/22/2017&Data1=20171122&slcTaxa=APR#"
soup = BeautifulSoup(urllib.request.urlopen(url).read(),'lxml')
rows=list()
for tr in soup.findAll('table'):
    for td in tr:
        rows.append(td.string)
temp_list=rows[3:]
final_list=[element for element in temp_list if element != '\n']

我不知道你想精确提取哪些数据。现在您需要处理Python列表(这里称为final_list)!在

希望一切都清楚。在

相关问题 更多 >