从东方财富网站获取动态市盈率和市净率的爬虫代码

由于tushare接口数据不准确,本文介绍了一种使用爬虫从东方财富网站抓取股票动态市盈率和市净率的方法。通过编写代码,从特定网页动态加载数据,提取所需字段,实现与软件同步的股票信息获取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前一直采用tushare.get_today_all() 获取市盈率和市净率,不知道是不是因为接口不再维护,获取的信息跟软件上的信息存在出入,刚好这段时间学习爬虫,因此写了段从东方财富网站获取市盈率和市净率的代码:

def web_data_to_json(url):
    res = requests.get(url, timeout=30)
    strdata = res.text
    strindex = strdata.find("diff\":[")
    if strindex != -1:
        jsonstr1 = strdata[(strindex + 6):]
        jsonstr2 = jsonstr1[:-4]
        str_to_json = json.loads(jsonstr2)
    else:
        str_to_json=None
    return str_to_json
def get_per_pb(basic_url):
    df = pd.DataFrame(columns=["code", "per", "pb"])
    for i in range(1, 200):
        if i % 5 == 0:
            print("the {}th web page, total 200 web pages".format(i))
        url1 = basic_url[:95]
        url2 = basic_url[96:]
        url = url1 + str(i) + url2
        data_list = web_data_to_json(url)
        if data_list is None:
        
如果您没有使用Tushare,可以考虑从财务报表中提取这些指标数据。以下是使用Python爬虫东方财富获取亚钾国际股票五年的市净率市盈率、总股本、总资产、每股收益未分配利润这几个指标数据的示例代码: ```python import requests from bs4 import BeautifulSoup import re # 构造URL url = 'http://f10.eastmoney.com/f10_v2/FinanceAnalysis.aspx?type=web&code=sz002818' # 发送请求 res = requests.get(url) # 解析HTML soup = BeautifulSoup(res.text, 'html.parser') # 获取所有表格 tables = soup.find_all('table') # 获取所有表格中的行单元格 rows = [] for table in tables: rows += table.find_all('tr') # 定义需要提取的指标 indicators = ['市盈率', '市净率', '总股本', '总资产', '每股收益', '未分配利润'] # 提取指标数据 data = [] for row in rows: cells = row.find_all('td') if len(cells) > 0 and cells[0].text in indicators: values = [re.sub(',', '', cell.text.strip()) for cell in cells[1:]] data.append(values) # 打印结果 for i, indicator in enumerate(indicators): print(indicator) for j in range(len(data)): print(f'{j+1}年:{data[j][i]}') print() ``` 以上代码中,首先构造了东方财富网财务分析页面的URL,然后发送请求并解析HTML。接着,通过查找表格中的行单元格,提取了指定的指标数据。最后,将结果打印输出。请注意,这里仅提供了一个示例代码,实际情况中需要根据自己的需求进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值