我的雅虎库存网络抓取程序会给我带来错误. 请在下面找到代码

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/XPEV{symbol}'
    r = requests.get(url,headers=header)
    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(b) Fz(36px) Mb(-4px").text}),
    
   }
   print(soup.title.text)

我需要比我更有知识的人的帮助来帮助我调试代码.

我已经尽我所能几乎try 了一切.请我需要一位导师来指导我这次旅程.

推荐答案

您的代码中有许多语法错误,因此首先集中精力修复它们.以下是如何从该网站获取股票价格/变化的示例:

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'}

Python-3.x相关问答推荐

谁能解释一下这个带邮编的多功能环路?

为什么在Python中使用RANDINT函数时会出现此TypeError?

Strawberry FastAPI:如何调用正确的函数?

我无法直接在 VSCode 中运行该程序,但可以使用 VScode 中的终端运行它

基于组/ID从原始数据框中创建两个子数据框

我想使用命令提示符安装 cv2

切片的Python复杂性与元组的星号相结合

Pandas matplotlib:条形图占总数的百分比

如何通过 GitLab V4 api 列出 gitlab 项目中的所有项目变量

FastAPI - 调用 API 时设置 response_model_exclude

请求:RecursionError:超出最大递归深度

参数化泛型不能与类或实例判断一起使用

在 sklearn.decomposition.PCA 中,为什么 components_ 是负数?

Python 3.9.8 使用 Black 并导入 `typed_ast.ast3` 失败

使用 Sublime Text 3 在 Python 3 中打印 UTF-8

作为函数对象属性的 __kwdefaults__ 有什么用?

__cause__ 和 __context__ 有什么区别?

Python中的多行日志(log)记录

无 Python 错误/错误?

将字符串拆分为最大长度 X 的片段 - 仅在空格处拆分