爬虫数据executemany插入_金融数据的获取——一个爬虫的简单例子

对量化投资策略进行研究,第一步就是获取我们需要的数据。使用历史数据能够对策略进行回测,以验证策略的有效性和可信性。另一方面,量化投资本身也是一种对数据的研究,因此它也必须遵循数据分析的相关步骤。作为一个业余的量化投资爱好者,免费的数据来源主要有以下几种途径:

  • Yahoo、Sina 财经的API
  • Python的Tushare包
  • 自己手工爬取

Tushare是一个免费、开源的Python财经数据接口包,它对数据进行了规整因此使用起来非常方便。尽管有如此优秀的数据包简化了数据的采集工作,我们依然需要掌握从网站上爬取数据的技能,以获取接口没有提供的数据。本篇文章将会介绍一个小爬虫,告诉大家如何从网站上获取所有股票的代码和名称。

Python的urllib2库是爬虫的基础,使用urllib2库可以获取网页的内容,再使用正则表达式对所需的内容进行提取。我们在东方财富网的stocklist页面下对股票的代码和名字进行爬取,若要获取该网页下的全部内容,则需要以下几步:

  • 对服务器发送一个请求,使用urllib2的Request方法返回reguest对象
  • 采用urlopen方法处理构建的request对象,返回服务器的应答(response对象)
  • 对response对象使用read方法,返回网页的内容
request 

一些网站不允许程序直接采用上面的方式进行访问,因此需要通过程序模拟浏览器的行为。通常采用的技术是在Requset方法的headers参数中设置agent,这样服务器认为是浏览器发出的请求就可以正常respose。

url 

在进行网页内容的读取过程中,会遇到这样或那样的原因导致异常使得读取不成功,可以使用try-except捕获相应的异常。

try


以上就是获取网页Html的过程,下面就需要在这茫茫Html中获取我们需要的东西。这个时候需要用到正则表达式对需要的内容进行匹配。

cde92ecab1e5c558ee062b4faae80db7.png

上图中蓝色标出的部分是我们需要的股票名称和代码,采取以下正则表达式可以获取需要的内容。正则表达式的写法不是唯一的,但需要保证使用该正则不会出现遗漏或多匹配出不需要的其他信息的情况。如果你对正则表达式不太熟悉也没有关系,Python提供了Beautiful Soup工具能够更为简单地提起Html或者Xml中的内容。

pattern 

采用findall方法返回的是一个List,我们可以将爬取的结果放在一个名为stocklist的txt文件中。

reload

当然,更好的结果储存方式是将结果放在数据库中,下面就是以sqllite数据库为例进行了一个爬取结果的储存。将爬取结果放在数据库中能够方便调用,并且可以设置shell任务做定时的爬取和更新。

conn 

以下是完整的代码,供大家参考。

#coding:utf-8

好了,如何从网站上爬取我们需要的数据就介绍到这里。Python有着更为强大的爬虫框架Scrapy,有兴趣的同学可以学习一下。关于本次小爬虫的全部代码,可以关注我的微信公众号,以后会有更多关于量化的原创文章哦!。

我的微信公众号:会掘金的小鹿(NuggetsRoad)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/454630.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux检查swap配置,Linux环境下swap配置方法

8种机械键盘轴体对比本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?前言安装Linux系统之后,默认是没有swap分区,那么我们怎样增加和删除swap分区。配置swap步骤1) 内存占用情况1free -hSwap: 0B 0B 0B2) 通过…

react学习系列1 修改create-react-app配置支持stylus

注:由于前端更新非常快,写这篇文章时 create-react-app 使用的版本是1.4.1 最新的使用流程请参照官方文档。create-react-app 是facebook推出的快速创建react项目的命令行工具。 他和 vue-cli 类似。开箱即用,不用改一行配置就可以开发出针对…

[c/c++] programming之路(25)、字符串(六)——memset,Unicode及宽字符,strset

一、memset #include<stdio.h> #include<stdlib.h> #include<memory.h>void *mymemset(void *p, int num, int len) {char *px (char *)p;if (p NULL)return NULL;while (len>0){*px (char)num;px;len--;}return p;//因为上述代码是对px进行操作&#…

使用Cross-Page Postback(跨页面提交)在页面间传递数据

页面间传递数据的几种方法 在页面间传递数据时&#xff0c;我们有以下几种选择&#xff1a; 1、Query String 一个很常见的方法&#xff0c;Query String是URL中问号之后的那一部分。其优点在于它是轻量级的&#xff0c;不会给服务器带来任何负担。而它也有几个缺点&#xff1a…

win10怎么设置默认输入法_win10系统输入法失效打不了字怎么办

大家好&#xff0c;今天分享一篇来自小白系统官网(xiaobaixitong.com)的图文教程。最近有用户反映自己电脑上的win10系统出现输入法失效打不了字的问题&#xff0c;想知道有没有解决该问题的方法。小编经过一番查找后给大家整理出了针对该问题的解决方法&#xff0c;下面就让我…

linux找link原路径,readlink命令找出符号链接所指向的位置

1.释义找出符号链接所指向的位置2.系统帮助用法&#xff1a;readlink [选项]... 文件...输出符号链接值或权威文件名。-f, --canonicalize递归跟随给出文件名的所有符号链接以标准化&#xff0c;除最后一个外所有组件必须存在-e, --canonicalize-existing递归跟随给出文件名的所…

国产毫米波雷达领域的领头羊,木牛科技将在明年量产77GHz汽车雷达

国内的汽车毫米波雷达市场风潮起于2015年前后&#xff0c;彼时国内的毫米波雷达企业已经发展很多年&#xff0c;但大都在军工领域。 面对突然出现的汽车毫米波雷达市场热潮&#xff0c;国内很快涌现出了一大批雷达的初创企业&#xff0c;努力挤进这一亦新亦旧的市场。 说是新&a…

DNS解析原理与Bind部署DNS服务

DNS是什么&#xff1f; DNS&#xff08;Domain Name System&#xff0c;域名系统&#xff09;是互联网上最核心的带层级的分布式系统&#xff0c;它负责把域名转换为IP地址、反查IP到域名的反向解析以及宣告邮件路由等信息&#xff0c;使得基于域名提供服务称为可能&#xff0c…

qt 获取本机的wifi密码_还在记密码?这款开源免费的账号密码管理神器赶紧收了...

工作中涉及到得账号密码&#xff0c;你是怎么记录得&#xff1f;如果是文档word或者excel记录&#xff0c;那么回非常麻烦&#xff0c;每次还得打开。如果是浏览器自己记录&#xff0c;如果更新密码&#xff0c;又记不得。尴尬&#xff01;今天大卫给大家推荐一款开源免费得账号…

win10无法运行C语言文件,主编告诉你win10打不开pdf文件的详尽处理办法

win10打不开pdf文件的问题大家有没有发现呢&#xff1f;今天有一个网友就来向小编询问处理办法。其实不知都还有多少用户遇到了win10打不开pdf文件的问题&#xff0c;我们可以尝试着自己来处理win10打不开pdf文件的问题&#xff0c;我们其实只需要这样操作&#xff1a;1、2、就…

MySQL 自带的四个数据库 介绍

背景 通过终端登录mysql数据库&#xff08;或直接用客户端工具&#xff09;查看全部数据库,如下&#xff1a; 5.7及以上自带库为&#xff1a;information_schema、mysql、performance_schema、sys&#xff1b; 5.6自带的库为&#xff1a;information_schema、mysql、performa…

简单绘图软件实现mfc大作业_纸笔书写|可直播可微课可写作业可批改的手写板,快来爱“我”吧...

线上教学进入下半场&#xff0c;我们需要什么&#xff1f;走过线上教育的探索期&#xff0c;相信不少老师已经对线上教学驾轻就熟了&#xff0c;但对于线上教学来说&#xff0c;合适的教学支持工具始终是必不可少的。不论是文科教师&#xff0c;还是理科教师&#xff0c;对于真…

react native (一)

开始接触app方面的工作&#xff0c;真心塞~又开始了周而复始的死磕一个问题专坐一整天的节奏&#xff0c;关键是还没有成绩&#xff0c;实在无语。╮(╯▽╰)╭&#xff0c;还是总结一下最近心塞历程吧……react native中文网&#xff1a;http://reactnative.cn/docs/0.48/gett…

2台电脑一根网线传文件_「教程」如何快速的在两台电脑间传输大文件?

两台电脑如何传输文件我们常见的就是使用U盘或者网盘进行传输但是速度非常的慢我们需要一种文件可以直接复制到另一台设备的方法首先准备一根网线然后将两台电脑连接到同一局域网内在右下角的小电脑打开网络设置找到共享选项然后将公用文件夹共享开启在下面密码保护的共享中你可…

订阅内容解码失败(非base64码)_【火眼金睛】超强解码能力——邦纳全新ABR系列读码器来袭!...

点击关注▲ “邦纳”&#xff0c;开启智造之旅邦纳全新ABR系列读码器具有超强的解码能力&#xff0c;两种不同子系列产品&#xff0c;具有多重分辨率和镜头配置。从此读码不再是难题&#xff01;产品特点超强的解码能力使其可以读取困难的1D/2D码&#xff0c;包括DPM码和低对比…

android中资源文件的两种访问方式,在android开发中进行数据存储与访问的多种方式介绍...

在android开发中进行数据存储与访问的多种方式介绍更新时间&#xff1a;2013年06月07日 16:24:23 作者&#xff1a;很多时候我们的软件需要对处理后的数据进行存储或再次访问&#xff0c;Android为数据存储提供了多种方式&#xff0c;首先给大家介绍使用文件如何对数据进行存…

企业网站 源码 服务邮箱:_公司企业邮箱购买,外贸企业邮箱用哪家服务好?

企业日常办公&#xff0c;经常会用到各种办公软件&#xff0c;而企业邮箱便是最常用的产品。公司在购买企业邮箱时需要考虑哪些方面&#xff0c;尤其是对于外贸行业的企业邮箱&#xff0c;应该如何选择呢&#xff1f;1. 安全保障公司企业邮箱购买时&#xff0c;首先要关注的就是…

微软公司等数据结构+算法面试100题2010版全部出炉

微软等公司数据结构算法面试100题2010版首次完整亮相 作者:July、2010年12月6日。 更新&#xff1a;现今&#xff0c;这100题的答案已经全部整理出来了&#xff0c;微软面试100题2010年版全部答案集锦&#xff1a;http://blog.csdn.net/v_july_v/arti…

android横竖屏切换布局闪退,Android-Activity横竖屏切换不杀死Activity 并监听横竖屏切换...

在上一篇博客&#xff0c;Android-Activity临时数据的保存&#xff0c;中讲解到&#xff0c;当发生横竖屏切换的时候&#xff0c;系统会杀死Activity并重新启动Activity系统会杀死Activity12-12 08:11:50.441 3347-3347/liudeli.activity D/TempDataActivity: onPause12-12 08:…

基于web的新闻发布系统_终极Linux系统ExTiX 19.8发布,基于深度操作系统deepin15.11...

近日&#xff0c;GNU/Linux开发人员Arne Exton发布了他的ExTiX 终极Linux系统的新版本&#xff0c;带有全新的底层和更新的组件。ExTiX Deepin 19.8基于Deepin Linux操作系统&#xff0c;更具体地说&#xff0c;ExTiX Deepin 19.8基于最新的Deepin 15.11版本&#xff0c;它增加…