sqlite全网爬取6500多特基金|看看哪家基金最强

当时是小菜鸟学Python的第86首原创文章

翻阅本文大概需要2分钟

前面有一样首1000资金,看那天买尽经济(初步分析1000只本,20w交易日的数量|哪天购买尽经济).那篇算是开胃小菜,现在咱们来只主菜,我准备写一个有些序去全网爬取某个著名的财经网站的备资产的数码.理财是单非常重要的艺,无论是高高在上的成功人士还说群众老百姓还要使控制的技能,俗话说”人不理财,财不理你”。理财之法来许多,我个人于喜欢买基金,而资产以发出特别分大多种:股票型,混合型,债券型,QDII还有个别基金,指数基金,货币基金,到底哪家最强的~~

咱俩码农是借助手艺吃饭的,不就是数量解析为,简单好下手写个次,分析一下.满的内容我会分几篇来描写,今天凡是思路篇,这终究一个微小的汇总型,前面说了这样多Python的基础知识,还生多少解析的情,来实战一下吧

*
*

全网爬取思路

*1.得到有资产的链接 *

***我们打财力首页,爬来装有资金的号码,基金名字和成本的url,共6500基本上价


其增长之如此,如下面的截图:

共计6527光资本,不管它是啊类型的基金,统统爬下,管他黑猫白猫,能赚不亏的老本就是好基金,哈哈

*
*

*2.分析每个基金的数 *

单身写一个接近,去分析每一个本钱网页,我们愿意领到以下资产的第一信息

贴近1独月的宽窄

守3个月之幅度

近6单月之宽

即1年的大幅度

濒临3年之增幅

确立以来的涨幅

比如:

*
*

3.数码的仓储

数码获得之后,我们是必然要存储的,放在内存里面到底非是长远的事
。存储可以有文件里,存为csv或者json格式 ,这片种植格式比较常用.

或也得以写副数据库了,我们得以用屌丝专用的sqlite3因为她就是一个文件,比较简单,或者高大上的关系数据库MySQL(但是它们上加表的时段发生死),
MangoDb 这个比灵敏,反正写副数据库的语句比较好扩大应用,各有所长~~

4.数目的分析

a).对于积极派

欲了解:累计成立涨幅最为深之本

想知晓:累计1年涨幅最为特别之成本

可望知道:累计6month幅度最为要命之工本

意在了解:累计3month肥瘦最为老之资金

下一场取个交集,看看发生没有发生全能王

b).对于稳健派

我们的投资是为稳健为主,稳子当头,涨多涨少不要紧,关键是只要高升,而且稳那我们把树立以来,3年来,1年来,6month,3month,1month
看看发生无发均涨的,没有亏过之

自我们还可分析一下任何维度的数量,比如建立之年华,几星级好评的资金等等~~

代码的方案和注意事项

代码的计划注意事项,因为是全网爬取6500基本上单纯基金,肯定使就此几近线程或者爬虫框架去搞定,我当下能想到的凡之类几沾方案:

1.方案1

a).先爬起本首页,获得有的本的url信息

b).然后拿6500仅仅本放上队中,用多线程取分别处理每一个资产网页的数目

c).然后将富有获得各只基金涨幅,存在内存里面,当有着的老本网页全部还处理完事后,把多少并写如csv文件

方案1:很明显发生一个短,就是待等到有的资金成就才见面写副,假如6500基本上才资本,我处理到6400差不多的时,忽然出现异常或者断网了,怎么收拾,估计那时想撞墙了。这个时候你拥有的数码都没从头存入csv文件,那你面前CPU呼呼的转移,卖力的用力爬虫,结果日整套都白费了

**2.方案2 **

a).也是预先爬起资产首页,获得有的资产的url信息

b).然后把6500单基金放上队中,用一个好像去分别处理每一个资本网页的多寡

c).然后斯仿佛是连续Thread,也是一直多线程处理者队列之中的数码,注意当解析了一个网页之后,立刻把多少勾勒副csv文件。这样做的利益,就是休见面以大要断网,导致数据内容没有保存

方案2:还是碰头生出题目,就是线程之间对共享文件之处理问题

3.方案3

关押起好像方案2凡毋庸置疑的,但是每个线程都以存同一个csv文件,多线程直接处理一个文件,肯定会发生问题,更何况我们发出6500大抵破反复读写,所以我们得对文本读写的地方,加锁来拍卖,这样比较安全

结论:

吓全网爬取6500股本的笔触篇就称到此地,这个例子会用到Python的基本知识,爬虫技术,多线程处理,线程间的锁,文件读写,数据解析Pandas的技术等等。若有啊问题,也得以留言讨论,好闲话少说,抓紧时间码代码吧~~

网站地图xml地图