编写股票程序用到的库
pandas_datareader: 是一个远程获取金融数据的python工具,一个第三方库
urllib:可以以get和post的方式抓取网络数据,标准库
pandas:包含标准数据模型,能高效操作大型数据集,第三方库
re:封装了正则表达式的功能,python核心库
matplotlib:封装了实现可视化的功能,第三方库
Tushare:封装了采集分析和加工股票等金融数据的功能,一个免费开源的第三方财经数据接口包
提示:在使用pip安装第三方库时,打开安装python的目录,进入Scripts目录中打开cmd,执行命令
rr 库名 ,系统会自动通过pip下载最新的库。若提示pip安装程序不是最新版则执行以下命令更新pip:python -m pip install --upgrade pip
调用urlopen方法爬取数据
urlopen(url,data=None,[timeout])
所属模块 urllib.request
爬取网易网站数据所使用的各个参数及含义
参数名 | 说明 |
---|---|
code | 股票代码 |
start | 抓取数据的开始时间,格式是yyyymmdd |
end | 抓取数据的结束时间,格式同上 |
fields | 要抓取的信息字段 |
fields参数所指定的字段列表
参数名 | 说明 |
---|---|
TCLOSE | 收盘价 |
HIGH | 最高价 |
LOW | 最低价 |
TOPEN | 开盘价 |
CHG | 涨跌额 |
PCHG | 涨跌幅 |
TURNOVER | 换手率 |
VOTURNOVER | 成交量 |
VATURNOVER | 成交金额 |
import urllib.request
stockCode='600895'
url='http://quotes.money.163.com/service/chddata/html?code=0'+stockCode+'&start=20190102&end=20190102&fields=TCLOSE;HIGH;LOW;TOPEN;CHG;PCHG;TURNOVER;VOTURNOVER;VATURNOVER'
print(url)
response=urllib.request.urlopen(url)
print(response.read().decode('gbk'))
response.close()
此处主体(http://quotes.money.163.com/service/chddata/html)和参数(code、start等)都放在了url中 这种请求数据的方式为GET
url='http://quotes.money.163.com/service/chddata/html'
param=bytes(urllib.parse.urlencode({'code':'0'+stockCode,'start':'20190102','end':'20200102','field':'TCLOSE;HIGH;LOW;TOPEN;CHG;PCHG;TURNOVER;VOTURNOVER;VATURNOVER'}),encoding='utf-8')
responese=urllib.request.urlopen(url,data=param,timeout=1)
print(responese.read().decode('gbk'))
responese.close()
此处数据放在了HTTP数据包中通过data传入参数,这种方式叫POST
GET提交数据的尺寸最大为2KB&