首先先让小编插播一条小广告!
如果是在准备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模块内的函数,能够将目标网页中的所有 解析网页内容 简单观察网页源代码,我们可以确认,投资评级数据确实存储在 用简单的一行代码,获取网页内存储的表格信息: 至此,在不了解网页前端知识的背景下,我们只用5行核心代码,便完成了股票投资评级数据的获取。 分析师选股评级数据 通过上述内容,我们可以获取单页的分析师选股评级数据,但如果想要获取完整、规范的新浪财经网列出的所有数据,则还需要进一步优化代码,具体优化目标有: 利用循环获取每页信息 规范「股票代码」字段的格式 「摘要」字段填入文章链接 以上目标则需要掌握更为扎实的Python及爬虫知识和pandas使用技巧。 想要更好掌握数据分析&爬虫神器Python,获取数据完整代码,可以选择购买品职小课的Python课程: 0基础向 课程名: 《Python量化:金融数据爬虫、择时及选股策略(合集)》 课程有效期: 360天 课程内容: Python基础语法 + 数据分析 + Python量化:金融数据爬虫、择时及选股策略 课程时长: 55小时 课程优惠: 生成邀请卡,分享2人关注,即可享受以1099元购买课程权益; 老学员可用品职积分抵扣,积分与分享优惠不可同时使用。 非0基础向 课程名: 《Python量化:金融数据爬虫、择时及选股策略》 课程有效期: 180天(现在购买,有效期360天) 课程内容: 金融数据爬虫、择时及选股策略 课程时长: 18小时 课程优惠: 生成邀请卡,分享4人关注,即可享受以499元购买课程权益; 老学员可用品职积分抵扣,积分与其余优惠不可同时使用。 下章预告 在获取了分析师投资评级数据后,小编不禁想知道:专业人士的推荐真的有效么?能否根据这些信息构建有效的选股策略呢? 我们将在下篇文章进行探索! 相关文章推荐 戳原文,直接购买「2021品职CFA课程」标签下的表格转为DataFrame格式,存储在list中。
节点中,可以直接用pd.read_html进行解析。