1 回答

TA貢獻1818條經驗 獲得超8個贊
這似乎是一個重復的問題。此處的解決方案已進行修改,以適合您的特定問題。
可能的解決方案:
from bs4 import BeautifulSoup
import requests
response = requests.get('https://www.rabobank.nl/particulieren/hypotheek/hypotheekrente/rente-annuiteitenhypotheek-en-lineaire-hypotheek/')
soup = BeautifulSoup(response.text, 'html.parser')
table = soup.find("div", attrs={"class": "tpa-table__scrollable-area"})
rows = table.findAll('tr')
data = [[td.findChildren(text=True) for td in tr.findAll("td")] for tr in rows]
data = [[u"".join(d).strip() for d in l] for l in data]
數據的輸出如下所示
[[u'',
u'Met NHG of tot en met 67,5% van de marktwaarde*',
u'Meer dan 67,5% tot en met 90% van de marktwaarde*',
u'Meer dan 90% van de marktwaarde*'],
[u'1 jaar', u'1,20%', u'1,40%', u'1,60%'],
[u'2 jaar', u'1,25%', u'1,45%', u'1,65%'],
[u'3 jaar', u'1,35%', u'1,55%', u'1,75%'],
[u'4 jaar', u'1,35%', u'1,55%', u'1,75%'],
[u'5 jaar', u'1,40%', u'1,60%', u'1,80%'],
[u'6 jaar', u'1,40%', u'1,60%', u'1,80%'],
[u'7 jaar', u'1,40%', u'1,60%', u'1,80%'],
[u'8 jaar', u'1,40%', u'1,60%', u'1,80%'],
[u'9 jaar', u'1,40%', u'1,60%', u'1,80%'],
[u'10 jaar', u'1,40%', u'1,60%', u'1,80%'],
[u'11 jaar', u'1,55%', u'1,75%', u'1,95%'],
[u'12 jaar', u'1,65%', u'1,85%', u'2,05%'],
[u'13 jaar', u'1,75%', u'1,95%', u'2,15%'],
[u'14 jaar', u'1,75%', u'1,95%', u'2,15%'],
[u'15 jaar', u'1,75%', u'1,95%', u'2,15%'],
[u'20 jaar', u'1,80%', u'2,00%', u'2,20%'],
[u'25 jaar', u'2,05%', u'2,25%', u'2,45%'],
[u'30 jaar', u'2,10%', u'2,30%', u'2,50%']]
可以迭代數據以找到百分比??梢园慈缦路绞皆L問示例列表元素
In [4]:data[1][3]
Out[5]: u'1,60%'
添加回答
舉報