我对使用 Beautiful Soup 很陌生,我正在尝试从下面的 url 导入数据作为 pandas 数据框。
但是,最终结果具有正确的列名称,但没有行号。
我应该做什么呢?
这是我的代码:
from bs4 import BeautifulSoup
import requests
def get_tables(html):
soup = BeautifulSoup(html, 'html.parser')
table = soup.find_all('table')
return pd.read_html(str(table))[0]
url = 'https://www.cmegroup.com/trading/interest-rates/stir/eurodollar.html'
html = requests.get(url).content
get_tables(html)
您在表中看到的数据是通过 JavaScript 从另一个 URL 加载的。您可以使用此示例将数据保存到 csv:
import json
import requests
import pandas as pd
data = requests.get('https://www.cmegroup.com/CmeWS/mvc/Quotes/Future/1/G').json()
# uncomment this to print all data:
# print(json.dumps(data, indent=4))
df = pd.json_normalize(data['quotes'])
df.to_csv('data.csv')
Saves data.csv
(来自 LibreOffice 的屏幕截图):
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)