Python-网络爬虫模块-requests模块之请求
Python原生库urllib库不太方便使用,本着"人生苦短, 我用Python"的珍惜生命精神, 基于urllib, 开发了一个对人类来说, 更好使用的一个库——requests
requests模块的使用方法基本上是requests.方法(method,url,**kwargs),括号中传递各种参数的形式来实现不同的应用场景。
各种请求方法:
- request(method,url,**kwargs)
- get(url, params=None, **kwargs)
- post(url, data=None, json=None, **kwargs)
- head(url, **kwargs)
- options(url, **kwargs)
- put(url, data=None, **kwargs)
- patch(url, data=None, **kwargs)
- delete(url, **kwargs)
据源代码显示,下面七种也是基于request方法实现的
request方法详细介绍:
requests.request(method,url,**kwargs)
参数详解:
- method:请求类型
- url:请求的url
**kwargs:动态参数,都是可选参数
- params:
参数类型:字典或bytes
作用:一般用于get请求时传递数据
- data:
参数类型:字典,元祖列表、bytes、类文件对象
作用:放在请求体中,一般用于post请求传递数据,会自动把数据转换成为&符号连接的形式,如果需要json字符串格式, 需要手动处理用json模块转换, 也可以借助另一个参数json
- json:
参数类型:字典
作用:放在请求体中,一般用于post请求传递数据,会自动把字典转换成json字符串格式
- headers
参数类型:字典
作用:定义HTTP请求头描述
- cookies:
参数类型:字典、Cookiejar
作用:搞定发送给服务器的cookie
- files
参数类型:字典类型1:
{"name": file-like-objects}
字典类型2
{"name": file-tuple} name:服务器接收文件信息的字段名字
file-tuple:('filename', fileobj, 'content_type', custom_headers)
filename:文件名,不用需索引文件
fileobj:文件句柄
content_type:文件类型
custom_headers:文件头部信息
作用:向服务器上传文件
- auth
参数类型:元祖
作用:用于HTTP Basic/Digest/Custom HTTP授权
- timeout
参数类型:float:超时时长
tuple(连接超时,读取超时)
作用:控制请求超时时间
- allow_redirects
参数类型:bool (默认为True)
作用:控制是否支持重定向
- proxies
参数类型:字典 {"协议":URL}
作用:设置请求代理
- verify
参数类型:bool 是否验证SSL ,默认为True
string CA证书存放的路径
作用:验证HTTPS请求
- cert
参数类型:string ssl client cert file(.pem)
tuple ("cent":"key")
作用:客户端验证
- stream
参数类型:bool
作用:相应的内容,是否以分流式分批下载
requests.request()的方法介绍就这么多,具体应用方式,代码操练
其他的方法都是在内部调用了request方法,使用方式不需要加入method参数,其他都一样的
Python-网络爬虫模块-requests模块之请求的更多相关文章
- 04.Python网络爬虫之requests模块(1)
引入 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用. 警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症.冗余代码症.重新发明轮子症.啃文档 ...
- Python网络爬虫之requests模块(1)
引入 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用. 警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症.冗余代码症.重新发明轮子症.啃文档 ...
- 04,Python网络爬虫之requests模块(1)
引入 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用. 警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症.冗余代码症.重新发明轮子症.啃文档 ...
- 06.Python网络爬虫之requests模块(2)
今日内容 session处理cookie proxies参数设置请求代理ip 基于线程池的数据爬取 知识点回顾 xpath的解析流程 bs4的解析流程 常用xpath表达式 常用bs4解析方法 引入 ...
- Python网络爬虫之requests模块(2)
session处理cookie proxies参数设置请求代理ip 基于线程池的数据爬取 xpath的解析流程 bs4的解析流程 常用xpath表达式 常用bs4解析方法 引入 有些时候,我们在使用爬 ...
- Python网络爬虫之requests模块
今日内容 session处理cookie proxies参数设置请求代理ip 基于线程池的数据爬取 知识点回顾 xpath的解析流程 bs4的解析流程 常用xpath表达式 常用bs4解析方法 引入 ...
- 04 Python网络爬虫 <<爬取get/post请求的页面数据>>之requests模块
一. urllib库 urllib是Python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求.其常被用到的子模块在Python3中的为urllib.request和urllib ...
- 网络爬虫之requests模块的使用+Github自动登入认证
本篇博客将带领大家梳理爬虫中的requests模块,并结合Github的自动登入验证具体讲解requests模块的参数. 一.引入: 我们先来看如下的例子,初步体验下requests模块的使用: ...
- Python学习---爬虫学习[requests模块]180411
模块安装 安装requests模块 pip3 install requests 安装beautifulsoup4模块 [更多参考]https://blog.csdn.net/sunhuaqiang1/ ...
- python网络爬虫《爬取get请求的页面数据》
一.urllib库 urllib是python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求.其常被用到的子模块在python3中的为urllib.request和urllib. ...
随机推荐
- Javascript书籍推荐----(步步为赢)
在此分享一些高清javascript书籍,因为我也没有全部看完,所以在这只是推荐,不同的书适合不同的人,所有的书在网上均有电子书,若找不到,请在博客留言,我有大部分书籍的电子稿.希望有更多的好书分享出 ...
- Android 高仿微信6.0主界面 带你玩转切换图标变色
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/41087219,本文出自:[张鸿洋的博客] 1.概述 学习Android少不了模仿 ...
- 安卓----Spinner
<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android=" ...
- bzoj 4318 OSU 概率期望dp
可以发现:f[i]转移到f[i+1]只和最后一串1的长度和平方有关, 因为如果新加的位置是1,贡献就是(x+1)^3-x^3=3x^2+3x+1,否则为0: 所以对于每一个位置,处理出期望的f,x和x ...
- BZOJ_2038_[2009国家集训队]小Z的袜子(hose)_莫队
BZOJ_2038_[2009国家集训队]小Z的袜子(hose)_莫队 Description 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小Z再也无 ...
- Esp8266
原文:http://www.geek-workshop.com/thread-25582-1-1.html ----------------分割线----------------AT+RST OKet ...
- mysql 使用Navicat Lite如何打开‘查询编辑器’,使用sql语句对表进行操作!
今天第一次使用mysql,尽然连查询编辑器都找不到,研究了半天,询问了下大牛,才搞出来,准备写下来,后面方面忘记了有查找的地方,哈哈哈~~ 如何打开"查询编辑器",使用sql语句进 ...
- 轻松搞定JSONP跨域请求
一.同源策略 要理解跨域,先要了解一下"同源策略".所谓同源是指,域名,协议,端口相同.所谓"同源策略",简单的说就是基于安全考虑,当前域不能访问其他域的东西. ...
- webapi 跨域问题
参考:http://www.cnblogs.com/chenxizhang/p/3821703.html 给自己做个笔记 HttpContext.Current.Response.AddHeader( ...
- 使用JDBC操作MySQL数据库
一.JDBC简介 JDBC(Java DataBase Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一的访问,它由一组用Java语言编写的类和接口组 ...