一、Requests 库的 get() 方法
1.requests.get()方法:
相关参数:
get(url, params=None, **kwargs):
url: 拟获取页面的url链接
params: url中的额外参数,字典或字节流格式,可选
**kwargs: 12个控制访问的参数
函数源代码如下:
def get(url, params=None, **kwargs):
"""Sends a GET request.
:param url: URL for the new :class:`Request` object.
:param params: (optional) Dictionary or bytes to be sent in the query string for the :class:`Request`.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:return: :class:`Response <Response>` object
:rtype: requests.Response
"""
kwargs.setdefault('allow_redirects', True)
return request('get', url, params=params, **kwargs)
由上面最后一行代码可知,get()方法实际上是由基础方法request()方法支撑实现的,其他几个主要方法也是如此。因此,Requests库中实际上只有一个方法,即基础方法request(),其他六个方法都是在它的基础上实现的。
二、Requests库的两个重要对象
Requests库的两个重要对象是Request和Response对象。
r = request.get(url)
这行代码构建了一个象服务器请求资源的Request对象,并返回一个包含服务器资源的Response对象。
Response对象包含服务器返回的所有信息,也包含请求的Request信息。Response对象有如下属性:
1) status_code : HTTP请求的返回状态,200表示连接成功,404表示失败。
2) text : HTTP的响应内容(字符串形式),即url对应的页面内容。
3) encoding : 从HTTP header中猜测的响应内容编码形式。
4) apparent_encoding : 从内容中分析出的响应内容编码方式(备选编码方式)。
5) content : HTTP的响应内容(二进制形式)。