urllib



它是 Python 内置的 HTTP 请求库,也就是说我们不需要额外安装即可使用,基本上涵盖了基础的网络请求功能,它包含四个模块:

- urllib.request
用于打开和读取url
- urllib.error
用于处理前面request引起的异常
- urllib.parse
用于解析url
- urllib.robotparser
用于解析robots.txt文件

  1. #-*coding : utf-8  
  2. from urllib import request  
  3.     
  4. resp = request.urlopen('https://www.baidu.com')  
  5.     
  6. print (resp.read().decode())  

urlopen()方法中传入字符串格式的url地址,则此方法会访问目标网址,然后返回访问的结果。

函数原型:

  1. 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请求

  1. from urllib import request  
  2.     
  3. resp = request.urlopen('http://httpbin.org/post', data=b'word=hello')  
  4. print(resp.read().decode())  

传递的data数据需要为bytes格式

Request请求对象的里有data参数,它就是用在POST里的,我们要传送的数据就是这个参数data,data是一个字典,里面要匹配键值对

posted @ 2018-11-06 10:54  吃奶酪的十言  阅读(92)  评论(0)    收藏  举报