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模块之请求的更多相关文章

  1. 04.Python网络爬虫之requests模块(1)

    引入 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用. 警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症.冗余代码症.重新发明轮子症.啃文档 ...

  2. Python网络爬虫之requests模块(1)

    引入 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用. 警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症.冗余代码症.重新发明轮子症.啃文档 ...

  3. 04,Python网络爬虫之requests模块(1)

    引入 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用. 警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症.冗余代码症.重新发明轮子症.啃文档 ...

  4. 06.Python网络爬虫之requests模块(2)

    今日内容 session处理cookie proxies参数设置请求代理ip 基于线程池的数据爬取 知识点回顾 xpath的解析流程 bs4的解析流程 常用xpath表达式 常用bs4解析方法 引入 ...

  5. Python网络爬虫之requests模块(2)

    session处理cookie proxies参数设置请求代理ip 基于线程池的数据爬取 xpath的解析流程 bs4的解析流程 常用xpath表达式 常用bs4解析方法 引入 有些时候,我们在使用爬 ...

  6. Python网络爬虫之requests模块

    今日内容 session处理cookie proxies参数设置请求代理ip 基于线程池的数据爬取 知识点回顾 xpath的解析流程 bs4的解析流程 常用xpath表达式 常用bs4解析方法 引入 ...

  7. 04 Python网络爬虫 <<爬取get/post请求的页面数据>>之requests模块

    一. urllib库 urllib是Python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求.其常被用到的子模块在Python3中的为urllib.request和urllib ...

  8. 网络爬虫之requests模块的使用+Github自动登入认证

    本篇博客将带领大家梳理爬虫中的requests模块,并结合Github的自动登入验证具体讲解requests模块的参数. 一.引入:   我们先来看如下的例子,初步体验下requests模块的使用: ...

  9. Python学习---爬虫学习[requests模块]180411

    模块安装 安装requests模块 pip3 install requests 安装beautifulsoup4模块 [更多参考]https://blog.csdn.net/sunhuaqiang1/ ...

  10. python网络爬虫《爬取get请求的页面数据》

    一.urllib库 urllib是python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求.其常被用到的子模块在python3中的为urllib.request和urllib. ...

随机推荐

  1. git实用命令

    http://blog.sina.com.cn/s/blog_4ce89f2001014qvr.html 1.git clone                                     ...

  2. ECMAScript简介以及es6新增语法

    ECMAScript简介 ECMAScript与JavaScript的关系 ECMAScript是JavaScript语言的国际化标准,JavaScript是ECMAScript的实现.(前者是后者的 ...

  3. infolite(中文检索系统)~爬虫利器

    infolite 今天为大家分享一个爬虫利器-infolite.这是一个chrome浏览器的插件,如果你在写爬虫的时候对复杂繁琐的控件路径分析是深恶痛绝.那么infolite绝对是你最好的选择. 安装 ...

  4. selenium获取元素后用click()点击没有作用,用Keys.ENTER就可以成功

    selenium获取元素后用click()点击没有作用,用键盘输入enter(Keys.ENTER)就可以成功 #coding = utf-8 from selenium import webdriv ...

  5. 【莫比乌斯反演】BZOJ2005 [NOI2010]能量采集

    Description 求sigma gcd(x,y)*2-1,1<=x<=n, 1<=y<=m.n, m<=1e5. Solution f(n)为gcd正好是n的(x, ...

  6. 在linux服务器之间复制文件和目录命令scp

    scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...

  7. enumerate取下标

    for index,item in enumerate(product_list): # print(product_list.index(item),item) print(index,item) ...

  8. 贝叶斯深度学习(bayesian deep learning)

      本文简单介绍什么是贝叶斯深度学习(bayesian deep learning),贝叶斯深度学习如何用来预测,贝叶斯深度学习和深度学习有什么区别.对于贝叶斯深度学习如何训练,本文只能大致给个介绍. ...

  9. git解析日志常用命令

    git diff --name-only ORIG_HEAD 获取变更列表 git log -p 查看每个提交引入的实际更改. git log --oneline --decorate 查看日志列表 ...

  10. 循环神经网络(Recurrent Neural Network,RNN)

    为什么使用序列模型(sequence model)?标准的全连接神经网络(fully connected neural network)处理序列会有两个问题:1)全连接神经网络输入层和输出层长度固定, ...