股票爬虫项目总结

Posted logo-1949

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了股票爬虫项目总结相关的知识,希望对你有一定的参考价值。

通过爬取雅虎财经上的股票数据,并绘制出股价的K-折线图,实现了买入\\卖出股票时机的分析。在这个过程中发现了几个以前新问题,记录如下:

1、python中日期与时间处理模块(date和datatime)

time模块主要用于时间访问和转换,这个模块提供了各种与时间相关的函数。time的时间戳格式,字符串格式之间的转换如下图所示:需要通过struct_time做中转站,不能直接一步到位。

技术分享图片

 2、爬取数据的保存

(1)、通过request.get(url)得到的数据是requests.models.Response类型,我们要查看的话必须把它转化为.text格式才能查看,把该数据保存到.csv中操作如下:

r=requests.get(url)
f = open(name+.csv, w)#创建存放股票数据的csv文件
f.write(r.text)#将获得的股票数据以文本数据的形式写入csv文件中
f.close()
#将.csv文件读取成dataFrame格式,并修改索引
data = pd.read_csv(name+.csv, index_col=0,parse_dates=True, sep=",", dayfirst=True)
#修改索引和列的名称,以适应本文的分析
data.index.rename(date, inplace=True)
data.rename(columns={Open:open, High:high, Low:low, Close:close,Volume:volume}, inplace=True)

 

(2)、如果返回的数据是dataFrame类型,则可以直接使用dataFrame.to_csv(‘xx.csv‘)存储为,csv文件。或者使用dataFrame.to_sql(‘xxx.sql‘)保存到sql数据库中:

s = pdr.get_data_yahoo(name, begin, end)#得到的数据直接为dataFrame格式
s.to_csv(name+.csv)
data = pd.read_csv(name+.csv, index_col=0,parse_dates=True, sep=",", dayfirst=True)
#修改索引和列的名称,以适应本文的分析
data.index.rename(date, inplace=True)
data.rename(columns={Open:open, High:high, Low:low, Close:close,Volume:volume}, inplace=True)

(3)爬虫如何对抗网站的反爬虫机制:通过user-agent模拟用户登入网站。

def get_one_page(url):
    req=urllib.request.Request(url)
    #模拟浏览器post请求信息
    req.add_header(User-Agent,Mozilla/5.0(Windows NT 6.1) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/49.0.2623.221 Safari/537.36)
    try:
        response=urllib.request.urlopen(req)
        response=response.read().decode(utf-8)
        return response
    except RequestException:
        return None

 

以上是关于股票爬虫项目总结的主要内容,如果未能解决你的问题,请参考以下文章

Scrapy 抓取股票行情

爬虫系列之股票信息爬取

自学python之爬虫3股票数据爬虫

使用scrapy进行股票数据爬虫

股票爬虫

股票数据定向爬虫