开发者:上海品职教育科技有限公司 隐私政策详情

应用版本:4.2.11(IOS)|3.2.5(安卓)APP下载

人人都会!极简5行代码带你了解分析师选股!

  • 原创 2021-04-05
  • 小番茄

首先先让小编插播一条小广告!


如果是在准备5月考试的小伙伴,一定千万不要错过我们的急救抢分营!营内打包了CFA单科完整强化课+经典题课+品职独有闯关做题系统+全方位督学服务!骨折价,原价619.9元的抢分营现在只要9.9元,最后2天参与机会,还没参与的可以扫描对应级别二维码进营。




从左往右,分别是一级、二级、三级,按级别添加回复【急救


对于大多属于刚入股市的股(jiu)(cai)来说,可能会选择跟着专业分析师的推荐去购买股票。但分析师推荐的股票究竟有哪些?这些股票又是否真的靠谱?这才是我们作为一个合格韭菜该去思考和探索的问题。


本文将先从第一个问题入手,在获取分析师选股评级数据的同时,带着读者们了解Python两大爬虫神器。

 

爬虫小白也能学会的代码,你准备好了吗?


寻找数据源


目标网页


和所有的爬虫一样,在最开始我们需要先确定爬虫的目标。


在本文中,我们将以新浪最新投资评级数据作为目标网页👇:

http://stock.finance.sina.com.cn/stock/go.php/vIR_RatingNewest/index.phtml



网址解析


与以往的爬虫不同(参考文章《2020年基金Top50持仓偏好?Python告诉你(上/下)》),新浪最新投资评级的数据抓取并不需进行抓包,我们可以直接通过对原网址的内容解析,获取原始的html内容,对其解析,以获取最新投资评级数据。也就意味着:

存储数据的网址=原网址

 

但在此之前,我们依旧需要对原网址的构成进行简单的解析。

 

与抓包的过程类似,我们在网页上选择「每页显示」为60,并选择点击「页数」为第2页。

 


观察网址链接变化为👇:

http://stock.finance.sina.com.cn/stock/go.php/vIR_RatingNewest/index.phtml?num=60&p=2

 

再试验一下其余「每页显示」及「页数」,则可得出结论:

  • num=60:表示页面显示为60条股票评级信息;

  • p=2:表示显示第2页。

 

到此为止,我们的网址解析便基本结束。

 

爬虫及网页内容解析

在确定了网址的构成结构后,我们便可以开始尝试用Python进行爬虫了。


在此前的爬虫文章中,我们曾详细讲解了如何利用爬虫常用模块——requests进行爬虫,过程略显复杂。


因此,小编将为大家介绍一款全新的爬虫神器,为大家实现一键爬虫~

 


爬虫神器


话不多说,我们直接上操作步骤(以Chrome浏览器为例)


Step 1


利用Chrome浏览器的开发者工具(Developer Tool),获取目标网页的cURL信息:


1.点击右键,进入「检查」

2.选择「Network」后,点击「Doc」

3.刷新页面

4.选中「index.phtml」右击

5.选中「Copy」,点击「Copy as cURL」

 


Step 2


将cURL信息转化为Python爬虫代码:

1.进入cURL转化工具:https://curl.trillworks.com,将cURL信息粘贴到左侧空白栏「curl command」


2.拷贝「Python requests」内代码,粘贴至自己的Python脚本内:


3.将不需要的cookies内容剔除;


4.将函数内requests.get内的网址链接替换为目标网址(含num和p信息的网址)


5.提取响应内容。


就这样,我们利用「开发者工具」和「cURL转化工具」,迅速完成了所有的爬虫代码部分~

 


网页内容解析


利用上述代码获取到的网页内容是一窜形如HTML格式的字符串。


针对这类数据,通常我们会选择用bs4模块对这类数据进行解析,提取节点内容。(参考《2020年基金Top50持仓偏好?Python告诉你(下)》


本文将介绍一款针对HTML的解析神器——pd.read_html函数!

 


pd.read_html


pd.read_html是pandas模块内的函数,能够将目标网页中的所有

标签下的表格转为DataFrame格式,存储在list中。



解析网页内容


简单观察网页源代码,我们可以确认,投资评级数据确实存储在

节点中,可以直接用pd.read_html进行解析。

 

用简单的一行代码,获取网页内存储的表格信息:


至此,在不了解网页前端知识的背景下,我们只用5行核心代码,便完成了股票投资评级数据的获取。

 

分析师选股评级数据

通过上述内容,我们可以获取单页的分析师选股评级数据,但如果想要获取完整、规范的新浪财经网列出的所有数据,则还需要进一步优化代码,具体优化目标有:

  • 利用循环获取每页信息

  • 规范「股票代码」字段的格式

  • 「摘要」字段填入文章链接

以上目标则需要掌握更为扎实的Python及爬虫知识和pandas使用技巧。


想要更好掌握数据分析&爬虫神器Python,获取数据完整代码,可以选择购买品职小课的Python课程:

 


0基础向


课程名:

《Python量化:金融数据爬虫、择时及选股策略(合集)》

课程有效期:

360天

课程内容:

Python基础语法 + 数据分析 + Python量化:金融数据爬虫、择时及选股策略

课程时长:

55小时

课程优惠:

  • 生成邀请卡,分享2人关注,即可享受以1099元购买课程权益;

  • 老学员可用品职积分抵扣,积分与分享优惠不可同时使用。

 


非0基础向


课程名:

《Python量化:金融数据爬虫、择时及选股策略》

课程有效期:

180天(现在购买,有效期360天

课程内容:

金融数据爬虫、择时及选股策略

课程时长:

18小时

课程优惠:

  • 生成邀请卡,分享4人关注,即可享受以499元购买课程权益;

  • 老学员可用品职积分抵扣,积分与其余优惠不可同时使用。

 


下章预告


在获取了分析师投资评级数据后,小编不禁想知道:专业人士的推荐真的有效么?能否根据这些信息构建有效的选股策略呢?


我们将在下篇文章进行探索!


相关文章推荐

量化入门法则-数据篇

量化入门法则-分析篇

2020年基金Top50持仓偏好?Python告诉你(上)

2020年基金Top50持仓偏好?Python告诉你(下)

【前方高能】10年能赚70倍?量化选股带你躺着赚钱!

戳原文,直接购买「2021品职CFA课程」