摘要:说明从的数据接口获取数据,之后,保存到数据库文件年月日文件年月日创建连接创建游标提交,不然无法保存新建或者修改的数据关闭游标关闭连接
说明
从 sina 的数据接口获取数据,之后,保存到 MySql 数据库
文件:getDataFromSina.py""" Created on 2018年2月11日 @author: Livon """ import util import time for i in range( 1, 9999 ): print( time.strftime("%H:%M",time.localtime(time.time())) ) url = util.sinaStockUrl( pageNum = i ) stockData = util.sinaStockData( url = url ) if( stockData == "null" ): break effect_rows = util.dbStore( str_stocks = stockData ) time.sleep(3) print( "finished." )文件:util.py
""" Created on 2018年2月11日 @author: Livon """ import urllib.request import re import pymysql import time def sinaStockUrl( pageNum ): print( "pageNum : " + str( pageNum )) rows = 10 url = "http://vip.stock.finance.sina.com.cn/quotes_service/api/json_v2.php/Market_Center.getHQNodeData?" url += "page=" + str( pageNum ) url += "&num=" + str( rows ) url += "&sort=symbol&asc=1&node=hs_a&symbol=&_s_r_a=init" print( url ) return url def sinaStockData( url ): # http://www.cnblogs.com/sysu-blackbear/p/3629420.html stockDataResponse = urllib.request.urlopen( url ) stockData = stockDataResponse.read() # stockData = stockDataResponse.decode("utf8") stockData = stockData.decode("gbk") # stockData = stockData.decode("gb2312") print( stockData ) return stockData def dbStore( str_stocks ): print( type( str_stocks )) stocks = re.findall("[(.*?)]",str_stocks ) stocks = re.findall("{(.*?)}",stocks[0]) # 创建连接 conn = pymysql.connect(host="127.0.0.1", port=3306, user="root", passwd="root", db="stock", charset="utf8") # 创建游标 cursor = conn.cursor() for i in range( 0, len( stocks ) ): print( "No." + str(i)) properties = stocks[i].split(",") # print( properties ) # print( type( properties )) effect_rows = insertDb( properties, cursor ) # time.sleep(1) # 提交,不然无法保存新建或者修改的数据 conn.commit() # 关闭游标 cursor.close() # 关闭连接 conn.close() return effect_rows def insertDb( properties, cursor ): arr_values = [] arr_columns = [] for j in range( 0, len( properties) ): # print( "propertie["+ str(j)+"]: " + properties[j] ) # key_value = properties[j].split(":") # print( key_value[0] + " -> " + key_value[1] ) key = properties[j][:properties[j].find(":")] value = properties[j][properties[j].find(":")+1:] value = value.replace(""", "") # print( key + " -> " + value ) # sql += """ + value + """ arr_columns.append( "`" + key + "`" ) # arr_columns.append( key ) arr_values.append( """ + value + """ ) sql = "insert into stock_sina " sql = sql + " ( " + ",".join( arr_columns ) + " ) VALUES ( " + ",".join( arr_values ) + " ) " print( sql ) effect_row = cursor.execute( sql ) return effect_row
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/47539.html
摘要:目标从互联网网易数据接口获取股票历史数据,包括开盘价最高价最低价收盘价等等环境记录数条,以该表为基础,制作清单。 目标 从互联网(网易数据接口)获取股票历史数据,包括开盘价、最高价、最低价、收盘价等等 环境 Python 3.6MySQL 5.6.34 table: stock_list showImg(https://segmentfault.com/img/bV3XbB?w=755...
摘要:目标从互联网网易数据接口获取股票历史数据,包括开盘价最高价最低价收盘价等等环境记录数条,以该表为基础,制作清单。 目标 从互联网(网易数据接口)获取股票历史数据,包括开盘价、最高价、最低价、收盘价等等 环境 Python 3.6MySQL 5.6.34 table: stock_list showImg(https://segmentfault.com/img/bV3XbB?w=755...
摘要:目标很简单,因为我想要爬一下证券化率,然后可视化输出结果。证券化率的基础就是上市公司的总市值,对于证券化率其实还蛮多说法的,比如雪球的这篇文。我们可以利用这个回调函数来显示当前的下载进度。 写在前面的叨叨 折腾了这么久,我终于在喝完一听快乐肥宅水后下定决心来学习写爬虫了。目标很简单,因为我想要爬一下证券化率,然后可视化输出结果。证券化率的基础就是上市公司的总市值,对于证券化率其实还蛮多...
摘要:本例以数据库为代表,展示将获取到的股票数据存入数据库的方法其他类型数据库请参考官网文档的部分。存入数据库追加数据到现有表财经数据接口包的使用存入财经数据接口包的使用 安装TuShare 方式1:pip install tushare 方式2:访问https://pypi.python.org/pypi/tushare/下载安装 方式3:将源代码下载到本地python setup.py ...
摘要:将另存为格式时,文件将工作表中的单元格所显示的文本和数值以逗号分离进行保存。方法此处使用模块的函数读取文件,函数以字典形式返回,字典的键则是这个单元格的标题即列头,每一个单元格内容放在字典的值内。 前言 数据是进行量化交易的基础和关键,目前国内做量化产品的金融机构大部分是从券商获取高频实时行情数据的,另外很多金融网站也提供了数据接口,可以调用接口方式获取,也可以用爬虫的方式获取。文本讲...
阅读 3945·2021-09-10 10:50
阅读 3424·2020-12-03 17:42
阅读 2573·2019-08-30 15:54
阅读 2099·2019-08-30 15:44
阅读 444·2019-08-30 14:08
阅读 843·2019-08-30 14:00
阅读 972·2019-08-30 13:46
阅读 2692·2019-08-29 18:33