【发布时间】:2021-12-31 11:56:18
【问题描述】:
我正在尝试一个学校项目从以下网站抓取数据:https://www.coingecko.com/en/coins/bitcoin/historical_data/usd?start_date=2021-01-01&end_date=2021-09-30。我的目标是为以下列获取单独的列表:关闭、打开、交易量和日期。我的问题是,对于列卷,打开和关闭,类名(文本中心)是相同的(第一行的示例):
<th scope="row" class="font-semibold text-center">2021-09-30</th>
<td class="text-center">
$782,626,384,092
</td>
<td class="text-center">
$30,068,690,312
</td>
<td class="text-center">
$41,588
</td>
<td class="text-center">
N/A
</td>
我尝试使用以下代码解决它,但没有成功(对于关闭值):
from bs4 import BeautifulSoup
import requests
import pandas as pd
website = 'https://www.coingecko.com/en/coins/bitcoin/historical_data/usd?start_date=2021-01-01&end_date=2021-09-30#panel'
response = requests.get(website)
soup = BeautifulSoup(response.content, 'html.parser')
results = soup.find('table', {'class':'table-striped'}).find('tbody').find_all('tr')
close = []
volume = []
open = []
date = []
all_tr = soup.find_all('tr')
print('rows:', len(all_tr))
for row in all_tr:
all_td = row.find_all('td', recursive=False)
print('columns:', len(all_td))
for column in all_td:
print(column.text)
close.append(all_td[4].text)
如果有人可以帮助我,我将非常感激!
【问题讨论】:
标签: python html beautifulsoup