教你用 Python 快速获取行业板块股,辅助价值投资! 您所在的位置:网站首页 行业板块选股还是概念板块选股 教你用 Python 快速获取行业板块股,辅助价值投资!

教你用 Python 快速获取行业板块股,辅助价值投资!

2024-01-08 19:33| 来源: 网络整理| 查看: 265

d881062d91235f5825dd4d5d78d51585.png

大家好,我是菜鸟哥!

本篇文章,我们来聊聊如何根据「 行业板块 」辅助我们进行价值投资。

# 1. 行业板块

行业板块与概念股在定义上还是有很大区别的。

一般来说,概念板块的风险更大,基于某个消息被短期炒作,很不稳定,因此风险更大

行业板块是按股票行业进行分类,往往注重于长期,稳定性更高。

在实际投资上,短期可以根据按「 市场热点 」从概念股进行选股投资,中长期还是建议按「 行业板块 」选股进行投资。

# 2. 爬取相关板块及个股列表

目标对象:

aHR0cDovL3N1bW1hcnkuanJqLmNvbS5jbi9oeWJrLw==

626a41838bca51fe06d8bbf2c577fd49.png

2-1  板块列表

首先,我们使用 「 Toggle JavaScript 」插件发现页面中的行业板块数据来源于下面的请求结果

http://**/?q=cn|bk|17&n=hqa&c=l&o=pl,d&p=1020&_dc=1650680429759

3f43e3f45854385d010cab4c4e124357.png

其中,参数为 p 和 _dc 为可变参数,p 代表页码数(从 1 开始),_dc 代表 13 位的时间戳,其他查询参数都是固定内容

然后,我们编写代码获取响应数据,使用正则表达式匹配出行业列表的数据

... self.ps_url = 'http://**/?q=cn|bk|17&n=hqa&c=l&o=pl,d&p={}050&_dc={}' ....     def __get_timestramp(self):         """         获取13位的时间戳         :return:         """         return int(round(time.time() * 1000)) ...     def get_plates_list(self, plate_keyword):         """         获取所有板块         :return:         """         plates = []         index = 0         while True:             url = self.ps_url.format(index + 1, self.__get_timestramp())             # 解析数据             resp = self.session.get(url, headers=self.headers).text             match = re.compile(r'HqData:(.*?)};', re.S)             result = json.loads(re.findall(match, resp)[0].strip().replace("\n", ""))             if not result:                 break             # 根据关键字,过滤有效板块             temp_plate_list = [item for item in result if plate_keyword in item[2]]             index += 1             for item in temp_plate_list:                 print(item)                 plates.append({                     "name": item[2],                     "plate_path": item[1],                     "up_or_down": str(item[10]) + "%",                     "top_stock": item[-6]                 })         return plates ...

最后,根据关键字对板块进行一次筛选,通过板块名、板块路径 PATH、板块涨跌幅、最大贡献股票名称重新组装成一个列表

注意:通过分析页面发现,根据板块路径 PATH 可以组装成行业板块个股列表页面 URL

比如,行业板块 PATH 为 400128925,那么行业板块对应个股列表的页面 URL 为

http://summary.**/hybk/400128925.shtml

2-2  行业个股列表

爬取行业个股列表和上一步数据展示逻辑一样,个股列表数据同样来源于下面请求的结果

http://**/?q=cn|s|bk{}&c=m&n=hqa&o=pl,d&p={}020&_dc={}

其中,bk 后面对应行业板块 PATH,p 代表页码数,_dc 代表 13 位的时间戳

... # 个股 self.stock_url = 'http://**/?q=cn|s|bk{}&c=m&n=hqa&o=pl,d&p={}020&_dc={}' ....     def get_stock_list(self, plate_path):         """         获取某一个板块下所有的个股信息         包含:股票名称、最新价格、涨跌幅、市盈率         :param plate_info:         :return:         """         index = 0         stocks = []         while True:             url = self.stock_url.format(plate_path, index + 1, self.__get_timestramp())             resp = self.session.get(url, headers=self.headers).text             match = re.compile(r'HqData:(.*?)};', re.S)             result = json.loads(re.findall(match, resp)[0].strip().replace("\n", ""))             if not result:                 break             index += 1             for item in result:                 if item[-1] { item.name }}                             {{ item.up_or_down }}                             {{ item.top_stock }}                                                                             ... methods: {             //表单提交数据             submit(ref) {                 this.$refs[ref].validate().then(res => {                     this.$http('xag/plate_list', this.baseFormData, {                         hideLoading: false,                         hideMsg: false,                         method: 'POST'                     }).then(res => {                         console.log("内容:", res.data)                         if (res.data && res.data.length > 0) {                             this.$tip.success("查询成功!")                             this.result = res.data                         } else {                             this.$tip.success("查询结果为空,请换一个关键字查询!")                         }                     }).catch(err => {                         console.log("产生异常,异常信息:", err)                     })                 }).catch(err => {                     console.log('err', err);                 })             } ...

最后部署完项目后,在前端页面就能根据板块名选择合适的个股进行投资了

dcc9e3b80cbe9dba3b526b391376d295.png

# 4. 总结一下

由于行业板块更适用于中长期投资,我们只需要根据某一个关键字筛选出一个板块,然后在板块下的个股列表中可以非常直观地看出市盈率较低的个股进行投资即可。

需要源码的同学,请在后台输入:小助手,找他领取(暗号:行业板块)

这是我开发的机器人公众号小号,目前增加了天气查询,955公司名单,关注时间查询;后面还会增加图片功能和每日送书抽奖送书活动,以及调戏功能,欢迎来体验,捧场。

全新机器人公众号上线啦,欢迎调戏!

推荐阅读: 入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径 干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影 趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏! AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影 小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|

年度爆款文案

1).卧槽!Pdf转Word用Python轻松搞定!

2).学Python真香!我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃

3).首播过亿,火爆全网,我分析了《乘风破浪的姐姐》,发现了这些秘密 

4).80行代码!用Python做一个哆来A梦分身 

5).你必须掌握的20个python代码,短小精悍,用处无穷 

6).30个Python奇淫技巧集 

7).我总结的80页《菜鸟学Python精选干货.pdf》,都是干货 

8).再见Python!我要学Go了!2500字深度分析!

9).发现一个舔狗福利!这个Python爬虫神器太爽了,自动下载妹子图片

点阅读原文,看B站我的视频!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有