【发布时间】:2018-08-17 22:02:53
【问题描述】:
我正在尝试废弃此网站,但在提取正确值时遇到问题。该网站提供银、黄金、钯和铂的价格。 http://www.lbma.org.uk/precious-metal-prices 该网站的html如下。
<div id="header-tabs-content" data-tabs-content="header-tabs">
<div class="tabs-panel is-active" id="header-tabs-panel1"
role="tabpanel" aria-hidden="false" aria-labelledby="header-tabs-
panel1-label">
<a href="/precious-metal-prices">
<p>Gold Price</p>
<p>AM:
<strong>$
<span id="daily_gold_am_usd">1325.40</span>
</strong> <br>
<em class="update">Updated: <span
id="daily_gold_am_timestamp">08/03 10:31:00</span></em> </p>
<p>PM:
<strong>$
<span id="daily_gold_pm_usd">1321.00</span>
</strong> <br>
<em class="update">Updated: <span
id="daily_gold_pm_timestamp">08/03 15:02:00</span></em> </p>
</a>
我有兴趣从下面的html数据结构中获取1325.40的daily_gold_am_usd和1321.00的daily_gold_pm_usd。但是,我在从过去的帖子中咨询后尝试的代码似乎无法返回这些值。
#Import packages
import pandas as pd
import numpy as np
import requests
from bs4 import BeautifulSoup
#define url and get html
url = "http://www.lbma.org.uk/precious-metal-prices"
r=requests.get(url)
data=r.text
soup = BeautifulSoup(data,"html.parser")
#Find the object of interest
gold_am_price = soup.find("span", {"id": "daily_gold_am_usd"})
Au_price_am = gold_am_price.text.strip()
gold_pm_price = soup.find("span", {"id": "daily_gold_pm_usd"})
Au_price_pm = gold_pm_price.text.strip()
感谢任何帮助。多谢你们。
【问题讨论】:
-
我已经检查了页面的 html 源,并且该网站目前似乎没有价格。也许这就是变量为空的原因?
标签: python html web-scraping beautifulsoup python-requests