安装方式

$ 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 和 查询参数

 import requests

 kw = {'wd':'长城'}

 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"}

 # params 接收一个字典或者字符串的查询参数,字典类型自动转换为url编码,不需要urlencode()
response = requests.get("http://www.baidu.com/s?", params = kw, headers = headers) # 查看响应内容,response.text 返回的是Unicode格式的数据
print response.text # 查看响应内容,response.content返回的字节流数据
print respones.content # 查看完整url地址
print response.url # 查看响应头部字符编码
print response.encoding # 查看响应码
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参数拿到

import requests

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

# 7. 返回CookieJar对象:
cookiejar = response.cookies # 8. 将CookieJar转为字典:
cookiedict = requests.utils.dict_from_cookiejar(cookiejar) print cookiejar print cookiedict

2.Sission

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

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

  1 # -*- coding:utf-8 -*-
2 import requests
3
4 # 创建session对象,可以用来保存Cookie值
5 cook = requests.session()
6
7 # 处理 headers
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
10 # 需要登入用户名和密码
11 data = {"emial":"214769277@qq.com", "password":"a123456"}
12 # 发送附带用户名和密码的请求,并获取登录后的Cookie值,保存在ssion里
13 cook.post("http://www.renren.com/PLogin.do", data = data)
14
15 # cook包含用户登录后的Cookie值,可以直接访问那些登录后才可以访问的页> 面
16 response = cook.get("http://www.renren.com/856204579/profile")
17
18 # 打印响应内容
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. 如何将FastReportOnlineDesign 灵活的应用到C/S B/S 程序当中?

    一.好久没有写博客了,主要是停在这里太久了,有些事情让自己尽量不在去想,忘记不了一段难以忘怀的记忆,就让这一段美好的记忆沉没在无锡的太湖中吧!不在去想了.难以忘怀..... 二.废话不多说了,不如正题 ...

  2. [转载] ZooKeeper简介

    转载自http://blog.csdn.net/kobejayandy/article/details/17738435 一.      Paxos 基于消息传递通信模型的分布式系统,不可避免的会发生 ...

  3. Python闭包

    1.概述 闭包是在其词法上下文中引用自由变量的函数. >>> def foo(): ... m=3 ... n=5 ... def bar(): ... a=4 ... return ...

  4. 【python】python的正则表达式 re

    ps:本文摘自互联网,觉得结构很好,讲的也很清晰.记下,备查. 延伸阅读:python的 内建函数 和 subprocess .此文是本系列的第三篇文章了,和之前一样,内容出自官方文档,但是会有自己的 ...

  5. mybatis逆向工程使用步骤详解

    使用mybatis生成逆向工程的详细步骤,我个人感觉这个是最简单的一个了,虽然网上有很多种的方法来生成逆向工程,可是这个方法最简单.在这里我是使用maven搭建的环境,但是在正常的环境下也是一样的.步 ...

  6. iOS项目的命名规范

    一.关于本文档1.本文档的书写目的    <iOS项目的命名规范>的书写目的,在于让后续参加到该项目的iOS开发人员通过阅读该文档,了解在当前iOS项目的代码中的命名要求并严格按照本文档执 ...

  7. 利用vertical-align实现行内元素对齐

    实际项目中,常常会遇到一排行内元素对齐排列的需求,但是往往它们是这样的 我们想要的其实是这样的 曾经我一度不得不使用定位来实现我想要的位置效果,将父元素设置 position:relative ,行内 ...

  8. 使用ztree展示树形菜单结构

    官网:http://www.treejs.cn/v3/main.php#_zTreeInfo 一.功能简介 在权限系统中,实现给角色指定菜单权限的功能.主要包括以下几点: 读取全部菜单项,并以树形结构 ...

  9. head first python菜鸟学习笔记(第六章)

    1. Python提供字典,允许有效组织数据,将数据与名关联,从而实现快速查找,而不是以数字关联. 字典是内置数据结构,允许将数据与键而不是数字关联.这样可以使内存中的数据与实际数据的结构保持一致.? ...

  10. 纯Socket(BIO)长链接编程的常见的坑和填坑套路

    本文章纯属个人经验总结,伪代码也是写文章的时候顺便白板编码的,可能有逻辑问题,请帮忙指正,谢谢. Internet(全球互联网)是无数台机器基于TCP/IP协议族相互通信产生的.TCP/IP协议族分了 ...