【发布时间】:2022-01-16 04:17:34
【问题描述】:
我正在尝试从 URL beloe 下载所有 Excel 文件。
https://healthcare.ascension.org/price-transparency/price-transparency-files
这是我的 hacky 代码。
from bs4 import BeautifulSoup
import urllib.request
for numb in ('1', '10'):
resp = urllib.request.urlopen("https://healthcare.ascension.org/price-transparency/price-transparency-files")
soup = BeautifulSoup(resp, from_encoding=resp.info().get_param('charset'))
for link in soup.find_all('a', href=True):
if 'xls' in link['href']:
print(link['href'])
dls = link['href']
urllib.request.urlretrieve(dls, str(numb) + ".xls")
根据我刚刚进行的一些 Google 搜索,我只是将其汇总在一起。当我运行该代码时,我得到了这个错误。
ValueError: unknown url type: '/-/media/project/ascension/healthcare/price-transparency-files/al/630578923_ascension-saint-vincents-east_standardcharges.xlsx'
我刚刚循环了 1:10,因为我不确定如何获取 Excel 文件的实际名称,但是查看页面后面显示 Excel URL 看起来像这样。
每个 Excel 文件都有一个名为“标准费用”的工作表。我不确定是否必须下载每个文件,或者只是打开它并从名为“标准费用”的工作表中复制数据,但基本上我试图将“标准费用”中的所有内容放入一个数据框中。当我查看一些表格时,我可以很快看出标题有时会略有不同,但我认为'pd.concat' 应该能够非常无缝地处理这个问题。知道如何将所有内容放入一个数据框中吗?谢谢。
【问题讨论】:
标签: python python-3.x beautifulsoup