1 import urllib.request 2 import re 3 #判断传入的地址是否有效 4 def set_url(func): #func=net_url 5 def inner1(*args,**kwargs): 6 if re.match('^http.*[cn,com]$',args[0])!=None: 7 f=func(*args,**kwargs) 8 if len(f)>0: 9 with open('net.txt','w+',encoding='utf-8')as fw: 10 fw.write(f) 11 return f 12 else: 13 return '请输入正确的地址' 14 return inner1 15 #页面保存到文件中 16 def save_url(func): #inner1 17 def inner(*args,**kwargs): 18 with open('net.txt','r+',encoding='utf-8') as f: 19 if len(f.readline())!=0: 20 fr=f.read() 21 print(fr) 22 return '这是缓存的文件' 23 else: 24 fc=func(*args,**kwargs) 25 return fc 26 return inner 27 @save_url 28 @set_url 29 def net_url(gurl): 30 31 request=urllib.request.Request(gurl) 32 repsonse=urllib.request.urlopen(request) 33 data=repsonse.read() 34 data=data.decode('utf-8') 35 return data 36 37 url=input("请输入要获取的网页地址>>>") 38 ret=net_url(url) #inner1 inner 39 print(ret)