Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库
http://docs.python-requests.org/en/latest/
HTTP状态码
HTTP Header - 简书
HTTP(HyperTextTransferProtocol)即超文本传输协议,目前网页传输的的通用协议。HTTP协议采用了请求/响应模型,浏览器或其他客户端发出请求,服务器给与响应。就整个网络资源传输而言,包括message-header和message-body两部分。
根据维基百科对http header内容的组织形式,大体分为Request和Response两部分。
Header中有charset (字符集,也就是编码方式)
r.encoding是从HTTP header中猜测的响应内容编码方式,如果header中不存在charset,则认为编码为‘ISO-8859-1’(无法解析中文字符)
r.apparent_encoding是requests根据网页内容分析出来的
遇到网络问题(如:DNS查询失败、拒绝连接等)时,Requests会抛出一个ConnectionError 异常。
遇到罕见的无效HTTP响应时,Requests则会抛出一个 HTTPError 异常。
若请求超时,则抛出一个 Timeout 异常。
若请求超过了设定的最大重定向次数,则会抛出一个 TooManyRedirects 异常。
所有Requests抛出的异常都继承自 requests.exceptions.RequestException 。
注意method的function的区别
标准格式 Requests.request(method,url,**kwargs)
网页:requests
网站:scrapy
全网:搜索引擎
Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。
F12 network name