首页 热点专区 义务教育 高等教育 出国留学 考研考公

怎么学python爬取财经信息

发布网友

我来回答

2个回答

懂视网

上班时间通过浏览器打开股票网站怕会被别人看到,没关系,试试在命令行下执行代码看数据就行了。
输入sh,就可以查看到上证指数
输入sz,就可以查看深圳指数
输入cyb,就可以查看创业板指数
其他的股票代码可以自己自定义,加入到字典中就行了

python版本2.7.3

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import urllib2
import re
import datetime
 
def getStockInfo(url):
 """根据url获取信息"""
 stockList = []
 request = urllib2.Request(url)
 response = urllib2.urlopen(request)
 
 stockStr = response.read()
 stockList = stockStr.split(',')
 return stockList
 
def printStock(List):
 """打印相关信息"""
 print '***********price*****************' + List[1]
 print '***********float_price***********' + List[2]
 print '***********float_perct***********' + List[3] + '%'
 print '***********succ_unit*************' + List[4]+' shou'
 print '***********succ_price************' + List[5]
 
def getUrlByCode(code):
 """根据代码获取详细的url"""
 url = ''
 stockCode = ''
 if code == 'sh':
 url = 'http://hq.sinajs.cn/list=s_sh000001'
 elif code == 'sz':
 url = 'http://hq.sinajs.cn/list=s_sz399001'
 elif code == 'cyb':
 url = 'http://hq.sinajs.cn/list=s_sz399006'
 else:
 pattern = re.compile(r'^60*')
 match = pattern.match(code)
 if match:
  stockCode = 'sh'+ code
 else:
  stockCode = 'sz' + code
 url = 'http://hq.sinajs.cn/list=s_'+stockCode
 
 return url
 
 
#输入stock代码
输出对应的价格信息 #code = raw_input('code: ') codeDict = { 'sh' : 'shang hai zq', 'sz' : 'shen zheng zq', 'cyb' : 'chang ye ban', '601788' : 'guang da zheng quan', '000651' : 'ge li dian qi', } #http://hq.sinajs.cn/list=s_sh000001 (上海大盘查询) #http://hq.sinajs.cn/list=s_sz399001 (深圳大盘查询) count = 0; while (count<=100):#循环100次后再退出 # 循环字典 for key in codeDict: print key + '--'+codeDict[key] code = raw_input('please select a code: ') now_time = datetime.datetime.now() #打印该code的信息 url = getUrlByCode(code) stockInfo = getStockInfo(url) #print stockInfo printStock(stockInfo) end_time = datetime.datetime.now() costTime = (end_time - now_time).seconds print '总共花费时间'+str(costTime)+'秒' count +=1

热心网友

本程序使用Python 2.7.6编写,扩展了Python自带的HTMLParser,自动根据预设的股票代码列表,从Yahoo Finance抓取列表中的数据日期、股票名称、实时报价、当日变化率、当日最低价、当日最高价。

由于Yahoo Finance的股票页面中的数值都有相应id。

例如纳斯达克100指数ETF(QQQ)
其中实时报价的HTML标记为

[html] view plain copy

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com