我的雅虎股票网页抓取程序给我错误。 请在下面找到代码
def getdata(符号): headers= {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, 如 Gecko) Chrome/123.0.0.0 Safari/537.36'} url = f'https://finance.yahoo.com/quote/XPEV{symbol}' r = requests.get(url,headers=header) 汤= BeautifulSoup(r.text, 'html.parser')
stock ={
symbol== symbol,
price== soup.find('fin-streamer',{'class':("Fw(b) Fz(36px) Mb(-4px) D(ib)").text}),
change== soup.find('fin-streamer',{'class':("Fw(b) Fz(36px) Mb(-4px").text}),
} 打印(汤.标题.文本)
我需要那些比我更有知识的人来帮助我调试代码。
我已经尽了最大的努力,几乎尝试了一切。我需要一位导师来指导我这段旅程。
您的代码中有很多语法错误,因此请首先重点修复它们。以下是如何从该网站获取股票价格/变化的示例:
import requests
from bs4 import BeautifulSoup
def getdata(symbol):
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36"
}
url = f"https://finance.yahoo.com/quote/{symbol}"
print(url)
r = requests.get(url, headers=headers)
soup = BeautifulSoup(r.text, "html.parser")
stock = {
"symbol": symbol,
"price": soup.find(
"fin-streamer", {"class": "Fw(b) Fz(36px) Mb(-4px) D(ib)"}
).text,
"change": soup.find(
"fin-streamer", {"class": "Fw(500) Pstart(8px) Fz(24px)"}
).text,
}
return stock
symbol = "XPEV"
print(getdata(symbol))
打印:
{'symbol': 'XPEV', 'price': '7.47', 'change': '-0.81'}