urllib、request网络请求包的使用

Python 给人的印象是抓取网页非常方便,提供这种生产力的,主要依靠的就是 urllib、requests这两个模块。

urlib介绍

urllib.request 提供了一个 urlopen 函数,来实现获取页面。支持不同的协议、基本验证、cookie、代理等特性。
urllib 有两个版本 urllib 以及 urllib2。
urllib2 能够接受 Request 对象,urllib 则只能接受 url。
urllib 提供了 urlencode 函数来对GET请求的参数进行转码,urllib2 没有对应函数。
urllib 抛出了 一个 URLError 和一个 HTTPError 来处理客户端和服务端的异常情况。

urllib中包括了四个模块,包括
urllib.request,urllib.error,urllib.parse,urllib.robotparser
urllib.request可以用来发送request和获取request的结果
urllib.error包含了urllib.request产生的异常
urllib.parse用来解析和处理URL
urllib.robotparse用来解析页面的robots.txt文件

url, \目标url
data=None, \默认为None表示是get请求,如果不为None说明是get请求
timeout 设置请求的超时时间
cafile=None, capath=None, cadefault=False,:证书相关参数
context=None :忽略证书认证
urlopen不能添加请求头
response = request.urlopen(url=url,timeout=10)

  • urllib.request.urlopen
data = {
  'name' = 'name',
  'age' = 18
}
bianliang = urllib.parse.urlencode(data).encode()

request = urllib.request.Request(url=url, data=bianliang,headers=headers)

  • import urllib.request
response = urllib.request.urlopen('http://www.baidu.com')
content = response.read().decode('utf-8')
print(content)

requests介绍

Requests 是一个简单易用的,用Python编写的HTTP库。这个库让我们能够用简单的参数就完成HTTP请求,而不必像 urllib 一样自己指定参数。同时能够自动将响应转码为Unicode,而且具有丰富的错误处理功能。

你可能感兴趣的:(urllib、request网络请求包的使用)