urllib.request模块提供了许多函数, 可用于从指定URL加载数据, 同时也可以对字符串进行编码解码工作, 以便再URL中以正确的形式显示出来.
request.urlopen()
urlopen(url, data=None[, timeout])
说明:
该函数, 打开指定的url并返回类文件对象, 可使用该对象读取返回的数据.
对所有HTTP请求, 最常用的是
GET请求, 向服务器发送的请求参数应该是url的一部分. 注意使用到的参数应该是已经经过url编码的(使用parse.urlencode()编码).如果是
post请求, 请求的字符串(包括表单数据)应该放在第二个参数data中.
from urllib.request import *
with urlopen("http://www.atguigu.com/") as r:
print(r)

urlopen()的返回值类文件对象
一旦连接成功, urlopen()会返还一个类文件对象, 就像在目标路径下打开了一个可读文件。
| urlopne()类文件对象方法 | 描述 |
|---|---|
| f.read([bytes]) | 从文件中读取所有或bytes个字节 |
| f.readline() | 从f中读取一行 |
| f.readlines() | 从f中读取所有行, 作为列表返回 |
| f.close() | 关闭f的url连接 |
| f.fileno() | 返回f的文件句柄 |
| f.info() | 返回f的mime头文件 |
| f.geturl() | 返回f的真正url |
from urllib.request import *
with urlopen("http://www.atguigu.com/") as r:
for line in r.readlines():
print(line.decode("utf-8"))
