Request: Python爬虫基础库
Request库地址:request中文官网
-
Request库的7个主要方法:
方法 | 说明 |
---|---|
requests.request() |
构造一个请求,支撑以下各方法的基础方法 |
requests.get() |
获取HTML网页的主要方法,对应于HTTP的GET |
requests.head() |
获取HTML网页头信息的方法,对应于HTTP的HEAD |
requests.post() |
向HTML网页提交POST请求的方法,对应于HTTP的POST |
requests.put() |
向HTML网页提交PUT请求的方法,对应于HTTP的PUT |
requests.patch() |
向HTML网页提交局部修改请求,对应于HTTP的PATCH |
requests.delete() |
向HTML页面提交删除请求,对应于HTTP的DELETE |
-
Request.get()
方法的工作流程
-
requests.get(url, params=None,**kwargs)
url:
获取页面url
的连接params:
url
中的额外参数,可以是字典或者字节流类型,(可选)**kwargs:
12个控制访问的参数,(同样可选)
def get(url, params=None, **kwargs):
r"""Sends a GET request.
:param url: URL for the new :class:`Request` object.
:param params: (optional) Dictionary, list of tuples or bytes to send
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)
-
Response
对象的属性:属性 说明 r.status_code
HTTP请求的返回状态,200表示连接成功,404表示失败 r.text
HTTP响应内容的字符串形式==url对应的页面内容的字符串形式 r.encoding
从HTTP header中猜测的响应内容编码方式 r.apparent_encoding
从内容中分析出的响应内容编码方式(备选编码方式) r.content
HTTP响应内容的二进制形式 -
如何理解
Response
的编码属性 说明 r.encoding
从HTTPheader中猜测的相应内容编码方式 r.apparent_encoding
从内容中分析出的响应内容编码方式(备选编码方式) 原则上来说
appare_encoding
比encoding
更加准确,因为appare_encoding
是根据网页内容分析出的编码方式。 -
Requests
支持6种常用的连接异常异常 说明 requests.ConnectionError
网络连接错误异常,如DNS查询失败、拒绝连接等 requests.HTTPError
HTTP错误异常 requests.URLRequired
URL缺失异常 requests.TooManyRedirects
超过最大重定向次数,产生重定向异常 requests.ConnectTimeout
连接远程服务器超时异常 requests.Timeout
请求URL超时,产生超时异常
网友评论