Excel 自定义股票,获取价值大师线估值评价数据
上面的两篇文章,分别介绍了爬取价值大师价值线的单只股票数据、中证指数成分股数据,这下我们来读取 Excel 表格中的自定义股票代码,然后再来爬取价值大师网的数据。
内容跟前 2 篇文章差不多,只是加入了读取 Excel 表格的自定义函数,具体内容还是参考前 2 篇文章。
代码
import akshare as ak
import requests
import re
from bs4 import BeautifulSoup
import pandas as pd
# 通过代码,获取价值大师的价值线
def get_valuation_ratios(code):
url = f'https://www.gurufocus.cn/stock/{code}/term/gf_value'
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
# 获取大师价值线
element_jzx = soup.select_one('#term-page-title')
if element_jzx:
element_jzx = element_jzx.text.strip()
element_jzx = re.findall("\d+\.\d+", element_jzx)[0]
else:
element_jzx = None
# 获取大师价值估值评价
element_pj = soup.select_one('#q-app > div > div > main > div:nth-child(3) > div > div.column.term-container.col > div.content-section.q-pa-md.q-mt-sm.q-card.q-card--bordered.q-card--flat.no-shadow > div > div:nth-child(9) > span').text.strip()
# 获取名称
element_mc = soup.select_one('html body div div main div:nth-child(1) div:nth-child(2) div:nth-child(1) div:nth-child(1) div:nth-child(2) div:nth-child(1) h1 span:nth-child(1)').text.strip()
# 获取现价
element_xj = soup.select_one('html body div div main div:nth-child(1) div:nth-child(2) div:nth-child(1) div:nth-child(1) div:nth-child(2) div:nth-child(2)')
element_xj.span.decompose() # 去掉span标签
element_xj = re.findall(r'\d+\.\d+', element_xj.text.strip())[0] # 只保留数字和小数点
# 拼接链接,在代码中加入超链接
link = f'https://www.gurufocus.cn/stock/{code}/summary'
# 创建一个pandas DataFrame来保存比率
ratios = pd.DataFrame({
'代码': [f'=HYPERLINK("{link}", "{code}")'],
'名称': [element_mc],
'现价': [element_xj],
'大师价值': [element_jzx],
'评价': [element_pj],
})
# 将“代码”列设置为索引
ratios = ratios.set_index('代码')
return ratios
# 通过读取excel中的列“代码”,从而获取价值大师价格
def get_all_valuation_ratios_xslx(file_index_code):
codes = pd.read_excel(file_index_code, sheet_name=0, engine='openpyxl')['代码'].astype(str).tolist() # 读取csv文件,选择“代码”列,并将其转换为列表。
all_ratios = pd.DataFrame()
for code in codes:
ratios = get_valuation_ratios(code) # 假设有一个名为get_valuation_ratios的函数,返回指定股票的估值比率数据。
all_ratios = pd.concat([all_ratios, ratios])
return all_ratios
# 填入导出的名称,自定义股票Excel表格的路径
get_all_valuation_ratios_xslx('测试.xlsx').to_csv(f'excel成分股价值大师.csv', index=True, encoding='utf-8-sig')
- 一键获取自定义股票 Excel 表格的价值大师价值线数据
- 爬取价值大师网站的估值评价数据,助力投资决策
- 将Excel表格中的股票代码快速转化为实时价值大师估值数据
- 投资必备!自动化爬取价值大师网站股票估值信息
- 提高投资效率,Excel表格一键获取股票估值信息
#投资 #股市 #数据分析 #自动化 #财经
版权声明:
作者:余汉波
链接:https://www.sanrenjz.com/2023/04/24/excel-%e8%87%aa%e5%ae%9a%e4%b9%89%e8%82%a1%e7%a5%a8%ef%bc%8c%e8%8e%b7%e5%8f%96%e4%bb%b7%e5%80%bc%e5%a4%a7%e5%b8%88%e7%ba%bf%e4%bc%b0%e5%80%bc%e8%af%84%e4%bb%b7%e6%95%b0%e6%8d%ae/
文章版权归作者所有,未经允许请勿转载。
THE END