上代码:
from urllib.request import urlopen
def get_html(url):
try :
resp = urlopen(url)
str1 = resp.read().decode("utf-8")
return str1
except :
return "产生异常"
def save_file(str1,fname):
with open(fname,"w",encoding="utf-8") as f :
f.write(str1)
return "OK"
if __name__ == "__main__" :
url = "http://www.baidu.com"
str1 = get_html(url)
statuesstr = save_file(str1,"mybaidu.html")
print(statuesstr)
写代码的时候尽量平常联系的时候也养成封装的习惯
几个需要注意的点:
1.urlopen返回的是一个类文件的对象
urlopen返回对象提供方法:
read() , readline() ,readlines() , fileno() , close() :对HTTPResponse类型数据进行操作
info():返回HTTPMessage对象,表示远程服务器返回的头信息
getcode():返回Http状态码。如果是http请求,200请求成功完成;404网址未找到
geturl():返回请求的url
2.open函数有一个encoding的参数
这里记得写成"utf-8",要不然编码会自动跟着平台走(win系统的默认gbk编码),会出现乱码