安装方式

$ pip install requests

基本GET请求(headers参数 和 parmas参数)

1.最基本的GET请求可以直接用get方法

response = requests.get("http://www.baidu.com/")

# 也可以这么写

response = requests.request("get", "http://www.baidu.com/")

2. 添加 headers 和 查询参数

  1. import requests
  2.  
  3. kw = {'wd':'长城'}
  4.  
  5. headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"}
  6.  
  7. # params 接收一个字典或者字符串的查询参数,字典类型自动转换为url编码,不需要urlencode()
  8. response = requests.get("http://www.baidu.com/s?", params = kw, headers = headers)
  9.  
  10. # 查看响应内容,response.text 返回的是Unicode格式的数据
  11. print response.text
  12.  
  13. # 查看响应内容,response.content返回的字节流数据
  14. print respones.content
  15.  
  16. # 查看完整url地址
  17. print response.url
  18.  
  19. # 查看响应头部字符编码
  20. print response.encoding
  21.  
  22. # 查看响应码
  23. print response.status_code

基本POST请求(data参数)

1. 最基本的GET请求可以直接用post方法

response = requests.post("http://www.baidu.com/", data = data)

2. 传入data数据

对于 POST 请求来说,我们一般需要为它增加一些参数。那么最基本的传参方法可以利用 data 这个参数。

response = requests.post(url, data = formdata, headers = headers)

Cookies 和 Sission

1.Cookies

如果一个响应中包含了cookie,那么我们可以利用 cookies参数拿到

  1. import requests
  2.  
  3. response = requests.get("http://www.baidu.com/")
  4.  
  5. # 7. 返回CookieJar对象:
  6. cookiejar = response.cookies
  7.  
  8. # 8. 将CookieJar转为字典:
  9. cookiedict = requests.utils.dict_from_cookiejar(cookiejar)
  10.  
  11. print cookiejar
  12.  
  13. print cookiedict

2.Sission

在 requests 里,session对象是一个非常常用的对象,这个对象代表一次用户会话:从客户端浏览器连接服务器开始,到客户端浏览器与服务器断开。

会话能让我们在跨请求时候保持某些参数,比如在同一个 Session 实例发出的所有请求之间保持 cookie 。

  1. 1 # -*- coding:utf-8 -*-
  2. 2 import requests
  3. 3
  4. 4 # 创建session对象,可以用来保存Cookie值
  5. 5 cook = requests.session()
  6. 6
  7. 7 # 处理 headers
  8. 8 headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) A ppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537. 36"}
  9. 9
  10. 10 # 需要登入用户名和密码
  11. 11 data = {"emial":"214769277@qq.com", "password":"a123456"}
  12. 12 # 发送附带用户名和密码的请求,并获取登录后的Cookie值,保存在ssion里
  13. 13 cook.post("http://www.renren.com/PLogin.do", data = data)
  14. 14
  15. 15 # cook包含用户登录后的Cookie值,可以直接访问那些登录后才可以访问的页> 面
  16. 16 response = cook.get("http://www.renren.com/856204579/profile")
  17. 17
  18. 18 # 打印响应内容
  19. 19 print response.text

Requests模块 HTTP for Humans的更多相关文章

  1. python3使用requests模块完成get/post/代理/自定义header/自定义Cookie

    一.背景说明 http请求的难易对一门语言来说是很重要的而且是越来越重要,但对于python一是urllib一些写法不太符合人的思维习惯文档也相当难看,二是在python2.x和python3.x中写 ...

  2. [爬虫]用python的requests模块爬取糗事百科段子

    虽然Python的标准库中 urllib2 模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests 自称 “HTTP for Humans”,说明使用更 ...

  3. 三、requests模块

    Requests: 让 HTTP 服务人类 虽然Python的标准库中 urllib2 模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests 自称 “ ...

  4. 爬虫中Requests模块

    Requests: 让 HTTP 服务人类 虽然Python的标准库中 urllib2 模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests 自称 “ ...

  5. python爬虫中的requests模块

    Requests: 让 HTTP 服务人类 一.简介 虽然Python的标准库中 urllib 模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests ...

  6. 爬虫requests模块 1

    让我们从一些简单的示例开始吧. 发送请求¶ 使用 Requests 发送网络请求非常简单. 一开始要导入 Requests 模块: >>> import requests 然后,尝试 ...

  7. requests 模块

    发送请求 使用Requests发送网络请求非常简单. 一开始要导入Requests模块: >>> import requests 然后,尝试获取某个网页.本例子中,我们来获取Gith ...

  8. requests模块--python发送http请求

    requests模块 在Python内置模块(urllib.urllib2.httplib)的基础上进行了高度的封装,从而使得Pythoner更好的进行http请求,使用Requests可以轻而易举的 ...

  9. Python requests模块学习笔记

    目录 Requests模块说明 Requests模块安装 Requests模块简单入门 Requests示例 参考文档   1.Requests模块说明 Requests 是使用 Apache2 Li ...

随机推荐

  1. Windows命令行command的Shell命令详细解析和语法

    CMD命令大全及详细解释和语法 Microsoft Windows XP [版本 5.1.2600] 有关某个命令的详细信息,请键入 HELP 命令名 ASSOC    显示或修改文件扩展名关联. A ...

  2. 《天书夜读:从汇编语言到windows内核编程》二 C语言的流程与处理

    1) Debug与Release的区别:前者称调试版,后者称发行版.调试版基本不优化,而发行版会经过编译器的极致优化,往往与优化前的高级语言执行流程会大相径庭,但是实现的功能是等价的. 2) 如下fo ...

  3. Linux系列教程(二十二)——Linux的bash变量

    上篇博客我们介绍了bash的一些基本功能,这是我们平时操作最频繁的.本篇博客我们介绍bash的变量,为后面编写shell脚本做铺垫. 1.什么是变量 变量是计算机内存的单元,其中存放的值可以改变. 当 ...

  4. [转]Oracle High Water Level高水位分析

    PLSQL_性能优化系列14_Oracle High Water Level高水位分析 http://www.cnblogs.com/eastsea/p/4005814.html 一.摘要 PLSQL ...

  5. CentOS7 安装sentry(最新)

      Sentry 是一款基于 Django实现的错误日志收集和聚合的平台,它是 Python 实现的,但是其日志监控功能却不局限于python,对诸如 Node.js, php,ruby, C#,ja ...

  6. 「JavaScript」手起刀落-一起来写经典的贪吃蛇游戏

    回味 小时候玩的经典贪吃蛇游戏我们印象仍然深刻,谋划了几天,小时候喜欢玩的游戏,长大了终于有能力把他做出来(从来都没有通关过,不知道自己写的程序,是不是能通关了...),好了,闲话不多谈,先来看一下效 ...

  7. golang关于一些新手不注意会出现的小问题

    前言 最近在整理之前写程序,学习时所记录的有道云笔记,发现一些有意思的小点跟大家分享一下.如有错误请大家给指出 一.闭包 defer 闭包(匿名函数) func test(){ i, n := ,; ...

  8. unity中Ray、RaycastHit 、Raycast(小白之路)

    1.Ray Ray(Vector3 origin, Vector3 direction) Ray:在程序中可以理解为射线,就是以某个位置(origin)朝某个方向(direction)的一条射线,是一 ...

  9. 自己动手编写IOC框架(二)

    万事开头难,上篇已经起了一个头,之后的事情相对就简单了.上次定义了框架所需的dtd也就是规定了xml中该怎么写,有哪些元素.并且我们也让dtd和xml绑定在了一起,使dtd对xml的格式进行校验,并且 ...

  10. nyoj 63 小猴子下落 思维

    nyoj 63 小猴子下落 题目链接: http://acm.nyist.net/JudgeOnline/problem.php?pid=63 思路: 不需要用指针创建二叉树,也不需要用数组来模拟二叉 ...