簡體   English   中英

美湯復雜查詢題

[英]Beautiful soup complicated query question

我想在下面的網站上桌子

https://www.hkab.org.hk/DisplayInterestSettlementRatesAction.do

但是,它有一個非常復雜的查詢在此處輸入圖片說明

我嘗試了以下代碼,但找不到我想要的表。

url = "https://www.hkab.org.hk/DisplayInterestSettlementRatesAction.do"
r = requests.get(url)
soup = BeautifulSoup(r.content, 'html.parser')
table = soup.find('table',{'class':'etxtmed'})

表結果是:

<table border="0" cellpadding="4" cellspacing="0" class="etxtmed" width="100%">
<tr>
<td height="30" valign="top"><a href="index.jsp">Home</a>
</td>
<td align="right" class="etxtsml" valign="top">
</td>
</tr>
</table>

我怎樣才能得到表的價值? 我找不到表值。 有人評論說它是由javascript生成的,有什么建議可以獲取表值而不是beautifulsoup?

我從數據加載的位置進行了跟蹤,並找到了要從中加載的url :)。

import requests
from bs4 import BeautifulSoup
import csv

r = requests.get(
    'https://www.hkab.org.hk/hibor/listRates.do?lang=en&Submit=Detail')
soup = BeautifulSoup(r.text, 'html.parser')

mat = []
hk = []
for item in soup.findAll('td', {'align': 'right'})[2:]:
    item = item.text.strip()
    mat.append(item)
for item in soup.findAll('td', {'align': 'middle'})[3:11]:
    item = item.text
    hk.append(item)

data = []
for item in zip(mat, hk):
    data.append(item)

with open('output.csv', 'w+', newline='') as file:
    writer = csv.writer(file)
    writer.writerow(['Maturity', 'HKD Interest\nSettlement Rate'])
    writer.writerows(data)
    print("Operation Completed")

輸出: 點擊這里

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM