使用urlopen() 方法模拟浏览器向服务器发送请求返回一个HTTPResponse。
测试代码如下:
import urllib.request
url =“http://www.baidu.com”
response = urllib.request.urlopen(url)
print(type(response))
输出:<class ‘http.client.HTTPResponse’>
HTTPResponse类型的对象有6个常用方法:read, readline, readlines, getcode,getheaders,geturl
read 方法:按字节读取
content = response.read() # 按字节读取print(content)
print(content)
输出的是二进制HTML字符串
content = response.read(5) # 按字节读取,返回5个字节print(content)
print(content)
输出:b’<!DOC’
readline方法:按行读取
content = response.readline() # 读取一行print(content)
print(content)
输出:b’ \n’
只读取一行字符串
readlines方法,按行读取全部的数据
contents = response.readlines()
print(contents)
print(len(contents))
输出的内容是全部的HTML
输出行数是:301
getcode方法,获取状态码,200为请求成功
print(response.getcode()) # 输出 200
geturl方法,获取url地址
print(response.geturl())
输出: http://www.baidu.com
getheaders方法,获取响应头
print(response.getheaders())