Python脚本:获取股票信息
2015-08-23 13:43
579 查看
在水木上看到有人在问到想用python去获取股票的信息,sina finance上面的那些数据的是通过js控制的,会根据股票代码去获取实时信息然后根据用户友好的方式展示出来。
首先,新浪的一个url让我们可以获取股票的信息:http://hq.sinajs.cn/?list=sh600000
然后,我简单写了个程序可以将其中有用的股票名称/当前价格/涨跌幅等信息提取出来。本来是不难的,只是在数字的处理和格式化输出这两方面,我还找了些资料看了下才实现了。
实现的输出如下:
—————————————————————
股票名称:超图软件 涨跌幅:2.07 最新价:22.73
股票名称:浪潮信息 涨跌幅:-2.91 最新价:19.33
股票名称:东软集团 涨跌幅:-3.93 最新价:10.52
股票名称:涪陵电力 涨跌幅:0.0 最新价:11.31
股票名称:中金黄金 涨跌幅:-2.01 最新价:22.41
—————————————————————-
简单的代码实现如下:
#! /usr/bin/python3
# coding=utf-8
”’
Created on Nov 9, 2011
@author: 笑遍世界
”’
import urllib.request
def get_price(code):
url = ‘http://hq.sinajs.cn/?list=%s’ % code
req = urllib.request.Request(url)
#如果不需要设置代理,下面的set_proxy就不用调用了。由于公司网络要代理才能连接外网,所以这里有set_proxy…
req.set_proxy(‘proxy.XXX.com:911′, ‘http’)
content = urllib.request.urlopen(req).read()
str = content.decode(‘gbk’)
data = str.split(‘”‘)[1].split(‘,’)
name = “%-6s” % data[0]
price_current = “%-6s” % float(data[3])
change_percent = ( float(data[3]) – float(data[2]) )*100 / float(data[2])
change_percent = “%-6s” % round (change_percent, 2)
print(“股票名称:{0} 涨跌幅:{1} 最新价:{2}”.format(name, change_percent, price_current) )
def get_all_price(code_list):
for code in code_list:
get_price(code)
code_list = ['sz300036', 'sz000977', 'sh600718', 'sh600452', 'sh600489']
get_all_price(code_list)
首先,新浪的一个url让我们可以获取股票的信息:http://hq.sinajs.cn/?list=sh600000
然后,我简单写了个程序可以将其中有用的股票名称/当前价格/涨跌幅等信息提取出来。本来是不难的,只是在数字的处理和格式化输出这两方面,我还找了些资料看了下才实现了。
实现的输出如下:
—————————————————————
股票名称:超图软件 涨跌幅:2.07 最新价:22.73
股票名称:浪潮信息 涨跌幅:-2.91 最新价:19.33
股票名称:东软集团 涨跌幅:-3.93 最新价:10.52
股票名称:涪陵电力 涨跌幅:0.0 最新价:11.31
股票名称:中金黄金 涨跌幅:-2.01 最新价:22.41
—————————————————————-
简单的代码实现如下:
#! /usr/bin/python3
# coding=utf-8
”’
Created on Nov 9, 2011
@author: 笑遍世界
”’
import urllib.request
def get_price(code):
url = ‘http://hq.sinajs.cn/?list=%s’ % code
req = urllib.request.Request(url)
#如果不需要设置代理,下面的set_proxy就不用调用了。由于公司网络要代理才能连接外网,所以这里有set_proxy…
req.set_proxy(‘proxy.XXX.com:911′, ‘http’)
content = urllib.request.urlopen(req).read()
str = content.decode(‘gbk’)
data = str.split(‘”‘)[1].split(‘,’)
name = “%-6s” % data[0]
price_current = “%-6s” % float(data[3])
change_percent = ( float(data[3]) – float(data[2]) )*100 / float(data[2])
change_percent = “%-6s” % round (change_percent, 2)
print(“股票名称:{0} 涨跌幅:{1} 最新价:{2}”.format(name, change_percent, price_current) )
def get_all_price(code_list):
for code in code_list:
get_price(code)
code_list = ['sz300036', 'sz000977', 'sh600718', 'sh600452', 'sh600489']
get_all_price(code_list)
相关文章推荐
- 关于python抓取google搜索结果的若干问题
- 关于python抓取google搜索结果的若干问题
- python中操作MySQLdb
- Python 类继承,__bases__, __mro__, super
- python的日志logging模块使用总结
- python inspect模块解析
- MAC上随时切换PYTHON版本
- Python和Singleton (单件)模式
- Python 技巧:@classmethod 修饰符
- [深入Python]__new__和__init__
- 一小时学会用Python Socket 开发可并发的FTP服务器!! 推荐
- Python学习笔记之动态类型
- 如何使用七牛Python SDK写一个同步脚本及使用教程
- XPath在python中的高级应用
- 零基础学python-7.6 字符串格式化表达式
- 零基础学python-7.6 字符串格式化表达式
- 基于七牛Python SDK写的一个同步脚本
- 解决mac中wxpython对64位的支持
- python基础教程学习笔记 — 字符编码问题
- Python脚本利用openoffice将office文档转为html或者pdf。