我正在嘗試從https://www.td.com/ca/en/personal-banking/products/mortgages/mortgage-rates/ 獲取抵押貸款利率
當我使用 find_all 從特定表中的單元格獲取值時,回傳的值是“ !--empty-- ”而不是該單元格中的文本。
該單元格的實際 html 是:
<span class="h2 ng-binding ng-isolate-scope" code="a.reslrates.MTGF036C" high-ratio="false" resl-rate="" type="S">2.54%</span>
回傳的結果是:
<span class="h2" code="a.reslrates.MTGF036C" high-ratio="false" resl-rate="" type="S"><!--empty--></span>
我得到的是 !--empty-- 結果,而不是 2.54% 的費率文本。我知道我在這里遺漏了什么嗎?完整代碼如下:
html_text = requests.get("https://www.td.com/ca/en/personal-banking/products/mortgages/mortgage-rates/").text
soup = BeautifulSoup(html_text, "html.parser")
# Get the table
table = soup.find("div", class_="td-rates-table rates-bg-row1").table
rows = table.tbody.find_all("tr")
for row in rows:
for rate in row.find_all("td"):
print(rate)
我感謝所有的回應!非常感謝!
uj5u.com熱心網友回復:
使用硒。請安裝必要的依賴項并執行腳本。
from selenium import webdriver
from bs4 import BeautifulSoup
import requests
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
url = 'https://www.td.com/ca/en/personal-banking/products/mortgages/mortgage-rates/'
# html_text = requests.get("https://www.td.com/ca/en/personal-banking/products/mortgages/mortgage-rates/").text
driver.get(url)
soup = BeautifulSoup(driver.page_source, "html.parser")
# Get the table
table = soup.find("div", class_="td-rates-table rates-bg-row1").table
rows = table.tbody.find_all("tr")
for row in rows:
for rate in row.find_all("td"):
print(rate.text)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/350274.html
