股票分红数据的抓取

股票分红数据的抓取本文目标 介绍股票分红数据的抓取 抓取股票分红数据的目的是用来计算股息率 比如使用前十年的分红均值计算股息率等 股息率是四不投资中一个重要的概念 通过股息率筛选股票池 而后才是根据偏离度确定后续的操作 所以股息率是四不的守门员

欢迎大家来到IT世界,在知识的湖畔探索吧!

本文目标:介绍股票分红数据的抓取。

抓取股票分红数据的目的是用来计算股息率,比如使用前十年的分红均值计算股息率等。

股息率是四不投资中一个重要的概念。通过股息率筛选股票池,而后才是根据偏离度确定后续的操作。所以股息率是四不的守门员。

股票分红都是真金白银,一般上市公司分配股利的方式主要有转增股本和派发现金红利。本质上说,转增股本并不是对股东的分红回报,现金红利才是上市公司给予股民的真金白银,也是股民获取投资收益的重要部分。一个企业若要分红的话,就必须实打实地从报表里取出利润进行分配。大比例现金分红对一个现金流紧张和利润表偷梁换柱的企业是行不通的。所以,勇于和乐于大比例分红的企业基本上已经排除了利润表造假和现金流紧张这两种情况。可以这样来说,分红高的股票爆雷的几率较低。所以使用股息率来筛选股票是一个可信、可行的指标。

股票分红数据的抓取

欢迎大家来到IT世界,在知识的湖畔探索吧!

这里使用Jsoup来实现股票分红数据的抓取。Jsoup拥有十分方便的api来处理html文档,比如参考了DOM对象的文档遍历方法,参考了CSS选择器的用法等等,因此我们可以使用Jsoup快速地掌握爬取页面数据的技巧。Java支持的爬虫框架还有WebMagic、Spider等,有兴趣自行学习了解。

使用Jsoup需要在gradle文件的dependencies添加如下行:

implementation ‘org.jsoup:jsoup:1.10.2’

先来看个网页:
https://q.stock.sohu.com/cn/600100/fhsp.shtml。在浏览器地址栏输入上述网址,浏览器会显示出来该股票的历年分红信息。这些分红信息就是要抓取的对象。

Document doc = Jsoup.connect(url).headers(headers).timeout(500).get();

这行代码可以将url指定网址的HTML页面作为输入流读进java程序中,并将描述HTML页面内容的字符串解析成一个Document对象,通过该Document对象以操作DOM树的方式即可获得HTML页面上指定的内容。

实际执行中,使用Document的select方法,用选择器来抓取指定元素,该选择器与CSS及Jquery的选择器相同。

Elements els=doc.select(“div.BIZ_innerContent”);

如何确定不同的选择器呢?需要通过查看网页源代码,逐步分析寻找。如上代码,通过“div.BIZ_innerContent”就将所有分红记录选出来,然后再逐步通过比如“table”、“tr”、“td”等做进一步处理,直到将分红的具体数据抓取出来。

股票分红数据的抓取

得到分红字串,比如“每10股派息0.35元”,可以用String.split取出具体数字,代码如下:

String[] fBouns=str.split(“每10股派息|元”);

if(fBouns.length>1)

{

db.setBonus(fBouns[1]);

}

else db.setBonus(“0”);

如果送转信息和分红信息同时存在,比如“转增5股;每10股派息1.0元”,这比较复杂,需要多步分离,才能取出各自的具体数字。

抓取的分红信息按年存储到数据库,后续计算比如十年分红均值,就很方便了。

说明:所用软件Android Studio版本3.4(compileSdkVersion 34)。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/119774.html

(0)
上一篇 1小时前
下一篇 53分钟前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信