发送请求
(1).通过 urllib.request 模块提供的 urlopen()函数,构造一个 HTTP 请求
(2).urlopen()函数返回的是一个 HTTPResponse 对象,调用该对象的 read()函数可以获 得请求返回的网页内容。
(3).read()返回的是一个二进制的字符串,明显是无法正常阅读的,要 调用 decode('utf-8')将其解码为 utf-8 字符串。
(4).把 HTTPResponse 类常用的方法和属 性打印出来,可以使用 dir()函数来查看某个对象的所有方法和属性
1 # -*- coding: utf-8 -*- 2 """ 3 Created on Tue Apr 7 14:23:30 2020 4 5 @author: ZKYAAA 6 """ 7 ##import urllib.request 8 #resp=urllib.request.urlopen("http://www.baidu.com") 9 #print(resp) 10 #print(resp.read()) 11 12 import urllib.request 13 resp=urllib.request.urlopen("http://www.baidu.com") 14 print("resp.geturl:",resp.geturl()) 15 print("resp.msg:",resp.msg) 16 print("resp.status:",resp.status); 17 print("resp.version:",resp.version) 18 print("resp.reason:",resp.reason) 19 print("resp.debuglevel:",resp.debuglevel) 20 print("resp.getheaders:",resp.getheaders()[0:2]) 21 print(resp.read().decode('utf-8'))
URL 中包含汉字是不符合 URL 标准的,需要进行编码
1 urllib.request.quote('http://www.baidu.com') 2 # 编码后:http%3A//www.baidu.com
3 urllib.request.unquote('http%3A//www.baidu.com') 4 # 解码后:http://www.baidu.com