在没有 table class 的情况下抓取 table

scraping table without table class

我试图从 https://fxtop.com/en/historical-exchange-rates.php?A=1&C1=USD&C2=IDR&MA=1&DD1=&MM1=08&YYYY1=1995&B=1&P=&I=1&DD2=23&MM2=07&YYYY2=2020&btnOK=Go%21 中抓取 table 但我无法抓取数据,因为我找不到 table class,任何人都可以帮助进行正确的识别?提前谢谢你。

    import pandas as pd
import requests
from bs4 import BeautifulSoup

    url = "https://fxtop.com/en/historical-exchange-rates.php?A=1&C1=USD&C2=IDR&MA=1&DD1=&MM1=08&YYYY1=1995&B=1&P=&I=1&DD2=23&MM2=07&YYYY2=2020&btnOK=Go%21"

    r = requests.get(url)
html = r.text

    soup = BeautifulSoup(html)
table = soup.find('table', border = 1)
print(table)

    result = pd.DataFrame(data, columns=['month', 'average USD/idr=', 'Min USD/IDR=', 'Max USD/IDR=', 'Nb of working days'])

result.to_csv("usd_.csv", index=False)

df = pd.read_csv("usd_.csv")
pd.set_option('display.max_rows', df.shape[0]+1)
print(df)

您可以按类型和任何属性查找元素:

table = soup.find('table', {"border": "1"})
import pandas as pd


df = pd.read_html(
    "https://fxtop.com/en/historical-exchange-rates.php?A=1&C1=USD&C2=IDR&MA=1&DD1=&MM1=08&YYYY1=1995&B=1&P=&I=1&DD2=23&MM2=07&YYYY2=2020&btnOK=Go%21", header=0)[-3]

print(df)
df.to_csv("data.csv", index=False)

输出:check online