python抓取股票数据

import urllib.request
import re

def getData(url):
return urllib.request.urlopen(url).read().decode("gbk")

def getPage(min,max):
for page in range(min,max):
urlStr="http://quote.stockstar.com/stock/sha_3_1_"+str(page)+".html"
# print(urlStr)
try:
data=getData(urlStr)
showData(getBody(data))
except:
print("error")

def getBody(data):
pat=re.compile("<tbody>[\s\S]*</tbody>")
body=pat.findall(data)
patnew=re.compile(">(.*?)<")
datalist=patnew.findall(body[0])
return datalist
def showData(datalist):
newdatalist=datalist.copy()
for data in datalist:
if data=="":
newdatalist.remove(data)

index=-1
for i in range(len(newdatalist)):
newdatalist[i].strip() # 删除前后空格
if newdatalist[i]=="市盈率":
index=i+1
if index == -1:
index = 0
#print(index)
#print(len(newdatalist))
for i in range(index,len(newdatalist),12):
for j in range(12):
if i+j<len(newdatalist):
print(format(newdatalist[i+j],"<15s"),end=" ")
print("")

''' 测试
#urlStr="http://quote.stockstar.com/stock/sha_3_1_1.html"
#data = getData(urlStr)
#print(data)
#body=getBody(data)
#print(body)
#showData(body)
'''
getPage(1,5)

posted on 2017-11-14 23:22  888ewe  阅读(963)  评论(0)    收藏  举报

导航