股票实时数据python,python获取股票实时行情

  

  说明:python实现读取股票数据保存到数据库数据库。   

  

  具体步骤:   

  

  1.安装大蟒模块   

  

  点安装请求   

  

  点安装美丽的声音   

  

  2.建表   

  

  //配置表   

  

  创建表gpconfig   

  

  (   

  

  编码主键标识(1,1),   

  

  gpname nvarchar(200),   

  

  gpid nvarchar(10),   

  

  gpurl nvarchar(2000年年),   

  

  添加时间日期时间默认值(getdate())   

  

  )   

  

  //本事例是从163网站读取,以下是配置表例子   

  

  插入到gpconfig(gpname,gpid,gpurl)   

  

  '选择'平安银行,' 000001 ',' http://引号。钱。163 .com/trade/lsjysj _ 000001。' html '   

  

  //数据采集表   

  

  创建gpprice表   

  

  (   

  

  编码主键标识(1,1),   

  

  gpname nvarchar(200),   

  

  gpid nvarchar(10),   

  

  gpdate日期时间,   

  

  gpkpprice decimal(20,4),   

  

  gpmaxprice decimal(20,4),   

  

  gpminprice decimal(20,4),   

  

  gpspprice decimal(20,4),   

  

  uplow decimal(20,4),   

  

  uplowpercent nvarchar(20),   

  

  dealcount bigint,   

  

  dealmoney decimal(20,4),   

  

  真富百分之nvarchar(20岁),   

  

  hspercent nvarchar(20岁),   

  

  添加时间日期时间默认值(getdate())   

  

  )   

  

  3.python语句   

  

  #编码UTF 8区:号   

  

  导入请求   

  

  导入安全套接层   

  

  从请求. auth导入HTTPBasicAuth   

  

  进口是   

  

  导入系统   

  

  从美丽的汤进口美丽的汤   

  

  导入pymssql   

  

  s_host='172.1.1.1 '   

  

  s_user='测试'   

  

  s_password='123456 '   

  

  s_database='gp '   

  

  mssqldb()类:   

  

  def __init__(self):   

  

  self.conn=self.getConnection()   

  

  def getConnection(self):   

  

  #打印self.host,self.username,self.userpwd,self.db   

  

  conn='a '   

  

  尝试:   

  

  conn=pymssql.connect(   

  

  主机=s _主机,   

  

  user=s_user,   

  

  password=s_password,   

  

  数据库=s _数据库)   

  

  例外情况除外,e:   

  

  "打印"连接数据库失败,%s' % e   

  

  #错误()。Errinsert(s_host,' conn ',' conn 1.79,1433 error ',' get day perflogs ')   

  

  返回连接器   

  

  定义查询(self,sqlstring):   

  

  cursor=self.conn.cursor()   

  

  尝试:   

  

  cursor.execute(sqlstring)   

  

  returnData=cursor.fetchall()   

  

  例外情况除外,e:   

  

  打印" sql错误"   

  

  #错误()。Errinsert('192.168.1.79 ',' select ','获取1.79天性能日志失败','获取天性能日志)   

  

  cursor.close()   

  

  self.conn.close()   

  

  返回返回数据   

  

  定义插入(self,insertstring,tup):   

  

  cursor=self.conn.cursor()   

  

  #打印" a "   

  

  尝试:   

  

  cursor.execute(insertstring,tup)   

  

  例外情况除外,e:   

  

  打印SSSS % s“% e”   

  

  #cursor.close()   

  

  self.conn.commit()   

  

  perlists=mssqldb().查询(' select gpname,gpid,gpurl from dbo.gpconfig,其中gp status=1’)   

  

  对于perlists:中的perlist   

  

  gpname=perlist[0]   

  

  gpid=perlist[1]   

  

  gpurl=perlist[2]   

  

  response=requests.get(gpurl)   

  

  response.encoding='utf-8 '   

  

  html=response.text   

  

  bs_xml=BeautifulSoup(html)   

  

  div=bs_xml.findAll('table ',{ ' class ' : ' table _ BG 001 border _ box limit _ sale ' })   

  

  trs=div[0]   

  

  tr_arr=trs.findAll('tr ')   

  

  对于tr_arr:中的tr   

  

  tds=tr.findAll('td ')   

  

  模式=re.compile(r'[^]',re。s)   

  

  td=pattern.sub(',str(tds))   

  

  td=td.replace(',','')   

  

  td=td.replace(',',')   

  

  #打印任务描述   

  

  tdall=td.replace('[',' ').替换(']','')   

  

  #tdallss=td.replace(' ','')   

  

  #打印gpname,tdall   

  

  #用于tdall:中的悬浮物   

  

  如果tdall!='':   

  

  u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11=tdall.split(',',-1)   

  

  #打印u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11   

  

  tup=(gpname,gpid,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11)   

  

  insert string=' insert into gpprice(gpname,gpid,gpdate,gpkpprice,gpmaxprice,gpminprice,gpspprice,uplow,uplowpercent,dealcount,dealmoney,zhenfupercent,hspercent)值(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,% s,% s,% s)   

  

  uexist=mssqldb().查询('从dbo.gpprice中选择gpid其中gpid='%s '且gpdate='%s''%(gpid,u1))   

  

  #打印类型(现有)   

  

  如果不存在:   

  

  perlists=mssqldb().插入(插入字符串,图)   

  

  #td=tr.findAll('td ')   

相关文章