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"))