urlopen(url, timeout)
最常用的函数,向指定的url地址发送请求,返回一个类文件对象。在python中可以像操作文件对象一样操作这个类文件对象。
timeout用于指定超时时间,当向该地址发送请求超过timeout设定的时间时则视为超时失败,返回异常。
import urllib.request
#向百度主页发送请求
#设置超过5秒未能访问则报错
try:
data = urllib.request.urlopen("www.baidu.com", timeout=5)
data = data.read() #像操作文件对象一样操作
print(len(data))
except Exception as e: #捕获异常
print("发生异常:"+str(e)) #把异常信息转为字符串
info()
返回urlopen对象访问的url地址的环境信息
getcode()
返回urlopen对象打开网页的状态码
geturl()
返回urlopen对象当前打开的url
import urllib.request
data = urllib.request.urlopen("www.baidu.com", timeout=5)
data.info() #返回HTTPMessage信息
data.getcode() #返回打开时网页的状态码,200为请求完成
data.geturl() #返回urlopen当前请求的url
urletrive(url, filename)
把url指向的网页下载到本地,类似把网页另存为的操作。
import urllib.request
#另存为百度主页到本地
#本地文件路径是全路径
urllib.request.urlretrive("www.baidu.com", filename="E:/test.html")
urlcleanup()
清理urletrive()产生的缓存
import urllib.request
urllib.request.urlretrive("www.baidu.com", filename="E:/test.html")
urllib.request.cleanup() #清理缓存