概述
之前在回测的时候遇到数据质量太低,不得不用第三方平台去解决这个问题,最近看了一个视频,讲解通过网易财经爬取股票数据,重新把代码打了一遍,发现的确可行。
网址:http://quotes.money.163.com/trade/lsjysj_601899.html#01b07
(个股——资金流向——历史交易数据)
虽然网易财经在金融方面做的真心谈不上数一数二,但是数据方面还真挺人性,可以直接下载,而且质量也挺高。
配合上海证券交易所公布的所有股票代码和上市日期,就可以轻松爬取全部上海股票数据了。
最有意思的是同样的代码,换成深圳的股票,就不能爬取,爬取的文件全部是空白文件,不知道是什么原因。
注意事项:
1.函数使用urllib.request.urlretrieve(),这个函数是中python3之后对python2进行了一下修改,所以版本不一样的话,代码不同。
2.交易所给的日期是yyyy-mm-dd,要改成yyyymmdd,用df.iloc[].str.replace(),这个地方是一个难点,不知道这个函数的话,可以用循环去做,但是浪费时间
3.上海交易所的数据之中,有一个是空,代码600996,需要自己补全,上市日期是2016-12-26,这个股票应该是重组过,不然这个代码不可能上市时间这么晚。
4.pandas 官网给出的数据清洗的方法还是挺不错的。
https://pandas.pydata.org/pandas-docs/stable/text.html?spm=a2c4e.11153940.blogcont620162.11.30174b10exPiQS
5.在爬取深圳股票的时候,因为需要修改代码,比如000001,正常print的话,就是1,因为默认是int,这个时候可以用df.列名.astype(str),强制转换为str,要注意的是df中object代表str,因为字符串格式不固定,所以用object.
别以为转换过去之后就可以使用了,这个时候需要把那些缺0的数据进行补全,很明显需要用for循环遍历,但是for循环不能修改数据,所以,修改的时候要变通一下,用enumerate来做。
6.其实自己爬数据还是挺折腾的,数据也不值钱,还浪费时间学爬虫,还得进行数据清洗和规整,这些数据就算爬下来,还得进行复权处理,还是第三方平台快一点,处理数据绝对是脏活累活。
最后
以上就是激情太阳为你收集整理的通过网易财经爬取股票数据的全部内容,希望文章能够帮你解决通过网易财经爬取股票数据所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复