目前,我正尝试在this link中访问seeking alpha上的股票价格,价格在此HTTML code内。
这里的代码应该会查看div id="symbol_last_trade">149.30</div的内容。但当我运行它时,程序不会将149.30输出为文本。
from bs4 import BeautifulSoup
import requests
headers ={'User-Agent': 'Mozilla/5.0'}
url = "https://seekingalpha.com/symbol/AAPL/income-statement"
r = requests.get(url,headers=headers)
source = BeautifulSoup(r.text,"html.parser")
price = source.find("div", {"id" : "symbol_last_trade"})
print(price.text)`当我运行它时,输出如下:
div id="symbol_last_trade"></div有人知道为什么这个程序不能输出div中的文本吗?
发布于 2021-07-27 02:49:42
数据是通过JavaScript动态加载的,所以beautifulsoup看不到它。您可以使用requests模块进行模拟:
import json
import requests
api_url = "https://finance.api.seekingalpha.com/v2/real-time-prices"
params = {"symbols[]": "aapl"}
data = requests.get(api_url, params=params).json()
# uncomment to print all data:
# print(json.dumps(data, indent=4))
print("Last price:", data["data"][0]["attributes"]["last"])打印:
Last price: 149.32https://stackoverflow.com/questions/68534976
复制相似问题