[英]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.