urllib
它是 Python 内置的 HTTP 请求库,也就是说我们不需要额外安装即可使用,基本上涵盖了基础的网络请求功能,它包含四个模块:
- urllib.request 用于打开和读取url
- urllib.error 用于处理前面request引起的异常
- urllib.parse 用于解析url
- urllib.robotparser 用于解析robots.txt文件
- #-*coding : utf-8
- from urllib import request
- resp = request.urlopen('https://www.baidu.com')
- print (resp.read().decode())
在urlopen()方法中传入字符串格式的url地址,则此方法会访问目标网址,然后返回访问的结果。
函数原型:
- urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)
访问的结果会是一个http.client.HTTPResponse对象,使用此对象的read()方法,则可以获取访问网页获得的数据。但是要注意的是,获得的数据会是bytes的二进制格式,所以需要decode()一下,转换成字符串格式。
urlopen() 默认的访问方式是GET,当在 urlopen() 方法中传入data参数时,则会发起POST请求。
发起post请求
- from urllib import request
- resp = request.urlopen('http://httpbin.org/post', data=b'word=hello')
- print(resp.read().decode())
传递的data数据需要为bytes格式
Request请求对象的里有data参数,它就是用在POST里的,我们要传送的数据就是这个参数data,data是一个字典,里面要匹配键值对

浙公网安备 33010602011771号