爬取价值大师线:使用 Python 获取股票估值比率数据
个人认为价值大师提供的大师价值线具有一定的参考价值。因此,我编写了以下代码,用于爬取价值大师网站的价值大师线。如果您对其他数据感兴趣,比如格雷厄姆估值或彼得林奇公允价值,也可以使用此方法进行爬取。
需要注意的是,下面的代码仅适用于爬取单只股票的价值大师线。如果您有兴趣爬取指数成分股或自定义股票,请关注此后的文章。
代码
import requests # 导入requests库,用于发送HTTP请求
import re # 导入re库,用于正则表达式匹配
from bs4 import BeautifulSoup # 导入BeautifulSoup库,用于解析HTML文档
import pandas as pd # 导入pandas库,用于数据处理
def get_valuation_ratios(code):
# 构造URL,其中code是股票代码
url = f'https://www.gurufocus.cn/stock/{code}/term/gf_value'
# 发送HTTP请求,获取响应内容
response = requests.get(url)
# 解析HTML文档
soup = BeautifulSoup(response.content, 'html.parser')
# 获取大师价值线
element_jzx = soup.select_one('#term-page-title').text.strip()
element_jzx = re.findall("\d+\.\d+", element_jzx)[0]
# 获取名称
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}")'], # 使用HYPERLINK函数创建超链接
'名称': [element_mc],
'大师价值': [element_jzx],
'现价': [element_xj],
})
# 将“代码”列设置为索引
ratios = ratios.set_index('代码')
return ratios
# 调用get_valuation_ratios函数,获取股票估值比率数据,并保存到CSV文件中
get_valuation_ratios('aapl').to_csv(f'价值.csv', index=True, encoding='utf-8-sig')
代码解释说明
这段代码的主要功能是从 GuruFocus 网站获取股票的估值比率数据,并将结果保存到 CSV 文件中。它使用了 requests 库发送 HTTP 请求,使用 BeautifulSoup 库解析 HTML 文档,使用 pandas 库处理数据。具体来说,它的实现过程如下:
- 构造 URL,其中 code 是股票代码。
- 发送 HTTP 请求,获取响应内容。
- 解析 HTML 文档,使用 select_one 方法获取 HTML 元素。
- 使用正则表达式匹配出大师价值线和现价。
- 拼接链接,创建一个 pandas DataFrame 来保存比率。
- 将“代码”列设置为索引。
- 将结果保存到 CSV 文件中。
总的来说,这段代码实现了一个简单的爬虫程序,可以用于获取股票的估值比率数据。需要注意的是,这段代码只适用于 GuruFocus 网站,如果要爬取其他网站的数据,需要根据具体情况进行修改。同时,需要遵守网站的爬虫规则,不要过度请求,以免被封 IP。
- 爬取价值大师线:使用 Python 获取股票估值比率数据
- GuruFocus网站爬虫:获取股票大师价值线和现价
- 股票估值比率数据抓取:Python实现GuruFocus网站爬虫程序
- 一键获取股票大师价值线和现价:使用Python实现简单爬虫程序
- 数据抓取与分析:Python实现股票估值比率数据的自动化获取
#金融 #数据分析 #爬虫 #股票 #投资
版权声明:
作者:余汉波
链接:https://www.sanrenjz.com/2023/04/20/%e7%88%ac%e5%8f%96%e4%bb%b7%e5%80%bc%e5%a4%a7%e5%b8%88%e7%ba%bf%ef%bc%9a%e4%bd%bf%e7%94%a8-python-%e8%8e%b7%e5%8f%96%e8%82%a1%e7%a5%a8%e4%bc%b0%e5%80%bc%e6%af%94%e7%8e%87%e6%95%b0%e6%8d%ae/
文章版权归作者所有,未经允许请勿转载。
THE END