推荐星级:
- 1
- 2
- 3
- 4
- 5
基于Python的互联网金融数据采集
资料介绍
互联网金融数据中潜藏着未知的知识价值,但也存在着巨量的数据冗余。通过Python可以进行互联网金融数据的获取、解析、提取关键信息并进行存储,其方式方法是灵活多样的,可采用的开源库也比较多。获取数据时要遵守法律和道德规范,使用Python时可以依据实际的研究内容来决定需要采集的数据。Python是互联网数据的获取工具,也是进行互联网金融数据分析的基石。
部分文件列表
文件名 | 大小 |
基于Python的互联网金融数据采集.pdf | 1000K |
部分页面预览
(完整内容请下载后查看)No.5s 圆园17
叶合作经济与科技曳
金融 / 投资
基于 Python 的互联网金融数据采集
□文 / 王 蕾 1 安英博 1 刘佳杰 2
(1.河北金融学院;2.河北兴冀工程项目管理有限公司 河北·保定)
[提要] 互联网金融数据中潜藏着未知的知识价值,但也存在着巨量的数据冗余。通过 Python 可以进行
互联网金融数据的获取、解析、提取关键信息并进行存储,其方式方法是灵活多样的,可采用的开源库也比较
多。获取数据时要遵守法律和道德规范,使用 Python 时可以依据实际的研究内容来决定需要采集的数据。
Python 是互联网数据的获取工具,也是进行互联网金融数据分析的基石。
关键词:Python;互联网金融;数据采集;数据解析
成果来源:河北省教育厅课题(QN2015151);保定市科技局课题(16ZF180);河北省智慧金融应用技术研发
中心课题(XZJ2017003);河北省科技厅软科学研究计划项目(17450903D)
中图分类号:F83 文献标识码:A
收录日期:2017 年 3 月 17 日
伴随着互联网的发展与移动应用的普及,互联网
金融得到了长足的发展,伴随而来的是规模巨大的数
据,金融从业者要通过数据挖掘、大数据分析获取有
价值的信息,完成精准营销,进而降低营销成本,提高
业绩。这时,一项重要的前置工作就是数据的采集,以
便于后续的数据分析,尤其是实时数据分析。
一、互联网金融数据来源
要进行金融大数据分析,其数据来源可划分为内
部数据来源和外部数据来源两种。内部数据来源是互
联网金融企业内部数据库,较易得到,但是数据库中
的数据往往不能直接用于分析,需要进行数据整合、
清洗和转换等才能被使用。分析企业内部数据可以较
虽然我国已经在逐步建立健全全国性信用信息
共享平台。但仍缺乏银行、企业和环保部门三者之间
的绿色信息共享平台,我国的信息共享平台还不够完
善。2016 年,发改委与国家开发银行签署了《关于落
实联合奖惩措施的合作备忘录》。据备忘录要求,全国
信用信息共享平台将与国开行开展信用信息共享,实
时共享各类信用信息。这表示信息共享在开发性金融
领域加快落地。尽管现在我国拥有全国性信用信息平
三方合作的绿色信息共享平台,借鉴国外发达国家绿
色信贷和信息共享的先进经验,建立符合我国国情的
信息共享平台,改变银行“信息不对称”的现状,避免
银行欺上瞒下,推动银行绿色信息的公开化,有利于
银行与公司贷款信息的透明化,从而促进经济可持续
发展,形成经济与环境的良性循环。
主要参考文献:
台,但这一平台起步较晚,尚不完善。特别是在银行、 [1]武迪,武传利.英国个人征信的经验及对我国的启
企业和环保部门的绿色信息共享这一方面还有很大 示[J].金融实务,2009.8.
的提升空间。为此,建议国家强调重视银行、企业和环 [2]汪继宁.对金融业统一征信平台搭建的思考—
保部门三者信息共享平台对于绿色发展的作用,建立 基于银行、证券、保险信息共享的探索[J]. 征信,
——
健全绿色信息共享平台,发挥“互联网+”的强大优势, 2013.3.
对绿色信贷的执行进行动态追踪,引导银行自愿进行 [3]孙鹏.双渠道供应链的信息共享策略及协调机制
绿色信贷的信息披露。
总之,银行、企业、环保部门之间应加紧协调合 [4]梁伟.非银行信用信息共享长效机制探讨[J].征
作,明确各方权利和义务,建设银行、企业、环保部门 信,2015.8.
研究[D].天津大学,2014.
- 47 -
好地对客户进行细分、了解金融产品组合特点,预测
金融产品发展趋势,辅助进行金融决策,但从了解整
个行业的发展角度来讲这并不够,需用到外部金融数
据。外部金融数据的来源有多种形式:一是通过与数
据拥有方签署合作协议来获取所需金融数据;二是购
买金融数据库等方式来获取;三是通过数据采集工具
来自行采集获取。第三种数据采集方式的优点是可以
私人定制所需数据,缺点是对技术要求较高,同时不
能违反网络数据采集的法律和相关道德约束,如应当
遵守 Robots Exclusion Protocol,否则可能会引发与
quests+Beautiful Soup+re 的架构来完成,使用 requests
库可以自动提交网络请求和自动爬取 HTML 页面,使
用 Beautiful Soup 库和 re 正则表达式可解析 HTML
页面和提取页面关键信息;如果是较大规模数据的采
集则可使用 scraper 架构或者 Portia 架构来完成。下
面进行互联网金融数据采集的实证分析,针对淘宝网
站的“大码女装”销售情况进行分析,需要获取商品名
称、价格、销售量、产地、商家等信息。首先应查看其网
站根目录之下的 robots.txt 文件,以得知该网站通过爬
虫来获取数据时有哪些限制。接下来制定搜索策略,
“酷米客”与“车来了”之间数据纠纷类似的法律事件、 获取 HTML 页面信息,解析 HTML 文档,提取商品名
产生隐私数据泄露、影响服务器性能等一系列问题。
二、互联网金融数据的分类
称、价格、销售量等关键信息,最后存储商品信息。
(一)搜索策略的确定。以某 URL 为入口,分析最
终 URL 队列形成方式以确定搜索策略。分析发现,其
检索结果被放置于具有页码的多个页面,观察其 URL
所具备的特点 http://s.taobao.com/search?q=”大码女
装”&s=页码 * 每页商品显示数量,鉴于此可以确定此
商品 URL 队列的获取原则。循环遍历次数为页面数
量或自定义数量,为了不造成对网站服务器的负担,
模拟了人类的访问频率,每获取一个页面信息,随即
进行解析和存储并休眠 2 秒。try-catch 处理了异常,
提高了程序的健壮性。确定搜索策略后就要遍历得到
页面信息。每次遍历实现对单个 HTML 页面信息的获
取、解析和存储。页面信息的获取调用了自定义方法
getHTML (),页面信息的解析调用了自定义方法
parseHTML()。核心代码如下所示:
在利用数据采集工具自行采集互联网金融数据
时会遇到多种类别的数据。按照行业领域划分,包括
股票、证券、债券、期货等理财数据,P2P 数据,众筹数
据,电子商务数据,微博、微信、贴吧等社交平台互联
网金融评论数据,新闻财经数据等。从数据自身的结
构类型角度进行划分,包括数字、短文本、长文本、图
片、音频、视频等。日期、价格、指数等多为数字或者短
文本,评论、新闻等多为长文本,图片、音频、视频等随
着通讯技术和互联网金融的发展也将成为互联网金
融数据的重要来源。
三、互联网数据采集手段
针对上述外部数据采集中的第三种数据采集方
式,即通过数据采集工具自行采集互联网数据的手段
进行探讨。互联网数据的采集可采用网络爬虫,又称
网页蜘蛛或网络机器人,其按照一定的规则,自动地
抓取来自网络的程序或脚本。指定 URL 并不断从当
前页面上抽取新的 URL 放入队列,直到满足一定的
停止条件。网络爬虫在访问一个超文本链接时,可以
从 HTML 标签中自动获取指向其他网页的地址信息,
其间可依据关键词对所有相关网页信息进行存贮、解
析和存储。常用的爬虫策略包括深度优先搜索策略、
广度优先搜索策略和最佳优先搜索策略。页面内容和
链接的重要性的不同会导致链接访问顺序的不同,其
重要性评价方式包括基于内容评价、基于链接结构评
价、基于增强学习和基于语境图的爬行等。
for i in range(页面数量):
time.sleep(2)
try:
url=start_url+st(r 每页商品数量 *i)
html=getHTML(url)
parseHTML(html,goodslist)
saveGoodsLis(t goodslist,file_path)
except:
continue
(二)获取 HTML 页面信息。获取 HTML 页面信息
需要获取 HTML 页面的源代码,可以调用 requests 库
的 ge(t url)方法,此方法是获取网页的常用方法之一,
url 作为其参数指明了要获取的资源路径,返回的页
面信息被存储为 Response 对象中。Response 对象的
text 即为 HTML 的页面内容。requests 还包括 pos(t )、
head()等方法。使用 requests.ge(t url).text 可以获得
url 地址所对应的 HTML 文档内容;使用 f.write(re原
quests.ge(t url).content)可以将 url 所指向资源以二进
制的形式获得并保存至本地电脑,该资源可以是文
本、图片、音频、视频等。以下为 getHTML()方法中部
四、基于 Python 的金融数据采集
C++、C#、Java、Python 等程序设计语言都可以作
为网络爬虫的开发语言来进行互联网金融数据的采
集。Python 作为一种开源语言提供了丰富的 API 和工
具,可以使用 C 语言、C++等来编写扩充模块,也可以
使用第三方库,具有较高的灵活性,故采用 Python 来
进行互联网金融数据的采集。在使用 Python 进行数
据采集时,如果是小规模数据采集,可以使用 re原
- 48 -
全部评论(0)