使用python beautiful soup进行web抓取时的空值
我试图放弃这个网站,但有问题提取正确的价值观。该网站介绍了银、金、钯和铂的价格。 该网站的html如下使用python beautiful soup进行web抓取时的空值,python,html,web-scraping,beautifulsoup,python-requests,Python,Html,Web Scraping,Beautifulsoup,Python Requests,我试图放弃这个网站,但有问题提取正确的价值观。该网站介绍了银、金、钯和铂的价格。 该网站的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-labelle
<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>
谢谢你的帮助。谢谢各位 这些值来自XHR to,因此您可以通过以下方式获得它们:
import requests
url = "http://lbma.oblive.co.uk/api/today/both.json"
response = requests.get(url).json()
打印输出(响应)
:
然后,您可以按如下方式提取所需内容:
response['gold']['am']['usd'] # 1325.40
response['gold']['pm']['usd'] # 1321.00
我已经检查了网页的html源代码,该网站目前似乎没有价格。也许这就是为什么变量是空的?很有魅力!非常感谢。我想知道你是怎么得到“”的地址的?我只能在视图源中看到“”或“”。按F12->切换到网络选项卡->仅启用XHR子选项卡->打开->检查已发送XHR的URL
{'gold': {'am': {'usd': '1325.40', 'gbp': '955.080', 'eur': '1070.390', 'timesta
mp': '08/03 10:31:00'}, 'pm': {'usd': '1321.00', 'gbp': '953.370', 'eur': '1069.
750', 'timestamp': '08/03 15:02:00'}}, 'silver': {'usd': '16.48000', 'usdc': '16
48', 'gbp': '11.89000', 'gbpp': '1189', 'eur': '13.31000', 'eurc': '1331', 'time
stamp': '08/03 12:01:00'}, 'platinum': {'am': {'usd': '949.00', 'gbp': '683.960'
, 'eur': '766.250', 'timestamp': '08/03 09:49:00'}, 'pm': {'usd': '954.00', 'gbp
': '687.570', 'eur': '769.670', 'timestamp': '08/03 14:09:00'}}, 'palladium': {'
am': {'usd': '970.00', 'gbp': '699.100', 'eur': '783.210', 'timestamp': '08/03 0
9:49:00'}, 'pm': {'usd': '985.00', 'gbp': '709.910', 'eur': '794.680', 'timestam
p': '08/03 14:09:00'}}}
response['gold']['am']['usd'] # 1325.40
response['gold']['pm']['usd'] # 1321.00