| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 爬虫Requests库入门及HTTP协议 -> 正文阅读 |
|
[网络协议]爬虫Requests库入门及HTTP协议 |
?HTTP协议 HTTP,Hypertext Transfer PRotocol,超文本传输协议 HTTP是一个基于"请求于响应"模式的,无状态的应用层协议 HTTP协议采用URL作为定位网络资源的标识 URL格式:http://host[:port][path] host:合法的Internet主机域名或IP地址 port:端口号,缺省端口为80 path:请求资源的路径 HTTP URL的理解: URL是通过HTTP协议存取资源的Internet路径,一个URL对应一个数据资源 ???????????????????????????? HTTP协议对资源的操作
?requess库的7个主要方法:
requests.request(method,url,**kwargs) method:请求方式,对应get/put/post等7种 ????????r=requests.request('GET',url,**kwargs) ????????r=requests.request('HEAD',url,**kwargs) ????????r=requests.request('POST',url,**kwargs) ????????r=requests.request('PUT',url,**kwargs) ????????r=requests.request('PATCH',url,**kwargs) ????????r=requests.request('DELETE',url,**kwargs) ????????r=requests.request('OPTIONS',url,**kwargs) url:拟获取页面的url链接 **kwargs:控制访问的参数,共13个 参数:params:字典或字节序列,作为参数增加到URL中 ?? data: 字典或字节序列或文件对象,作为Request内容 ? ?json:JSON格式的数据,作为Request的内容 ? headers:字典,HTTP定制头 ?? ?cookies:字典或CookieJar,Request中的cookie auth:元组,支持HTTP认证功能 files:字典类型,传输文件 timeout:设超时时间 proxies:字典类型,设定访问代理服务器,可以增加登陆认证 allow_redirects:True/False,默认为True,重定向开关 stream:True/False,默认为True,获取内容立即下载开关 verify:True/False,默认为True,认证SSl证书开关 cert:本地SSl证书路径 r=requests.get(url,params=None,**kwargs) url: 拟获取页面的url链接 params:url中的额外参数,字典或字节流格式,可选 **kwargs:12个控制访问的参数 requests.head(url,**kwargs) url: 拟获取页面的url链接 **kwargs:13个控制访问的参数 requests.post(url,data=None,json=None,**kwargs) url: 拟获取页面的url链接 ?data: 字典或字节序列或文件对象,作为Request内容 json:JSON格式的数据,作为Request的内容 **kwargs:11个控制访问的参数 requests.put(url,data=None,**kwargs) requests.patch(url,data=None,**kwargs) requests.delete(url,**kwargs) ?????????????????????????????????????????????????Response对象的属性
r.encoding:如果header中不存在charset,则认为编码为ISO-8859-1 r.apparent_encoding:根据网页内容分析出编码方式 ????????????????????????????????????????理解Requests库的异常
r.raise_for_status() :? ? ? ? ? ? 如果不是200,产生异常requests.HTTpError 爬取网页的通用代码? ? ?#要注意网络连接有风险,异常处理很重要 使用上述代码能够有效的处理网络连接异常? |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 5:54:17- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |