#!/usr/bin/env python
#coding:utf8
import urllib
def print_list(list):
for i in list:
print i
def demo():
s=urllib.urlopen("http://dbspace.blog.51cto.com")#打开URL
lines=s.readlines()
print s.read(100)#读出所有的数据
print s.readlines#读出所有以列表方式显示出来
print s.readline#只读出一行的数据,若要更多可以用for循环
print_list(lines)#逐行打印出来,配上print_list
print s.getcode()#打印应答码,可以返回的为200,不存在的为404
###
info():返回http头部的信息
msg=s.info()
print msg.headers#http头的内容
print msg.items()#解析过的头的列表
###通过dir(msg)方法可以看到更多的方法
##把远程的文件下载到本地(远程地址,保存文件名,下载进度)
def retrieve():
urllib.urlretrieve("http://dbspace.blog.51cto.com","index.html",reporthook=process)
def process(blk,blk_size,total_size):#监控当前下载状态进度信息reporthook(当前传输的块数,块大小,数据总大小)
def process(blk,blk_size,total_size):
print '%d/%d - %.02f%'%(blk*blk_size,total_size,float(blk*blk_size)*100/total_size)
更多参数:
urllib.urlencode(参数)#加密
import urlparse
urlparse.parse_qs(参数)#解密
if __name__=="__main__":
demo()
retrieve()
def download(stock_list):
for sid in stock_list:
url='http://table.finace.yahoo.com/table.csv?s='+sid
fname=sid+'.csv'
urllib.urlretrieve(url,fname)##这样就是下载所有数据
def download_data_in_period(stock_list,start,end):
params={'a':start.month-1,'b':start.day,'c':start.year,'d':end.month-1,'e':end.day,'f':end.year,'s':sid}
qs=urllib.urlencode(params)
url=url+qs
fname='%s_%d%d%d_%d%d%d.csv'%(sid,start.year,.....)
urllib.urlretrieve(url,fname)
if __name__=="__name__":
stock_list=['222.sz','3333.sz']
download(stock_list)