Requests模块 HTTP for Humans
安装方式
$ 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的更多相关文章
- python3使用requests模块完成get/post/代理/自定义header/自定义Cookie
一.背景说明 http请求的难易对一门语言来说是很重要的而且是越来越重要,但对于python一是urllib一些写法不太符合人的思维习惯文档也相当难看,二是在python2.x和python3.x中写 ...
- [爬虫]用python的requests模块爬取糗事百科段子
虽然Python的标准库中 urllib2 模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests 自称 “HTTP for Humans”,说明使用更 ...
- 三、requests模块
Requests: 让 HTTP 服务人类 虽然Python的标准库中 urllib2 模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests 自称 “ ...
- 爬虫中Requests模块
Requests: 让 HTTP 服务人类 虽然Python的标准库中 urllib2 模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests 自称 “ ...
- python爬虫中的requests模块
Requests: 让 HTTP 服务人类 一.简介 虽然Python的标准库中 urllib 模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests ...
- 爬虫requests模块 1
让我们从一些简单的示例开始吧. 发送请求¶ 使用 Requests 发送网络请求非常简单. 一开始要导入 Requests 模块: >>> import requests 然后,尝试 ...
- requests 模块
发送请求 使用Requests发送网络请求非常简单. 一开始要导入Requests模块: >>> import requests 然后,尝试获取某个网页.本例子中,我们来获取Gith ...
- requests模块--python发送http请求
requests模块 在Python内置模块(urllib.urllib2.httplib)的基础上进行了高度的封装,从而使得Pythoner更好的进行http请求,使用Requests可以轻而易举的 ...
- Python requests模块学习笔记
目录 Requests模块说明 Requests模块安装 Requests模块简单入门 Requests示例 参考文档 1.Requests模块说明 Requests 是使用 Apache2 Li ...
随机推荐
- Windows命令行command的Shell命令详细解析和语法
CMD命令大全及详细解释和语法 Microsoft Windows XP [版本 5.1.2600] 有关某个命令的详细信息,请键入 HELP 命令名 ASSOC 显示或修改文件扩展名关联. A ...
- 《天书夜读:从汇编语言到windows内核编程》二 C语言的流程与处理
1) Debug与Release的区别:前者称调试版,后者称发行版.调试版基本不优化,而发行版会经过编译器的极致优化,往往与优化前的高级语言执行流程会大相径庭,但是实现的功能是等价的. 2) 如下fo ...
- Linux系列教程(二十二)——Linux的bash变量
上篇博客我们介绍了bash的一些基本功能,这是我们平时操作最频繁的.本篇博客我们介绍bash的变量,为后面编写shell脚本做铺垫. 1.什么是变量 变量是计算机内存的单元,其中存放的值可以改变. 当 ...
- [转]Oracle High Water Level高水位分析
PLSQL_性能优化系列14_Oracle High Water Level高水位分析 http://www.cnblogs.com/eastsea/p/4005814.html 一.摘要 PLSQL ...
- CentOS7 安装sentry(最新)
Sentry 是一款基于 Django实现的错误日志收集和聚合的平台,它是 Python 实现的,但是其日志监控功能却不局限于python,对诸如 Node.js, php,ruby, C#,ja ...
- 「JavaScript」手起刀落-一起来写经典的贪吃蛇游戏
回味 小时候玩的经典贪吃蛇游戏我们印象仍然深刻,谋划了几天,小时候喜欢玩的游戏,长大了终于有能力把他做出来(从来都没有通关过,不知道自己写的程序,是不是能通关了...),好了,闲话不多谈,先来看一下效 ...
- golang关于一些新手不注意会出现的小问题
前言 最近在整理之前写程序,学习时所记录的有道云笔记,发现一些有意思的小点跟大家分享一下.如有错误请大家给指出 一.闭包 defer 闭包(匿名函数) func test(){ i, n := ,; ...
- unity中Ray、RaycastHit 、Raycast(小白之路)
1.Ray Ray(Vector3 origin, Vector3 direction) Ray:在程序中可以理解为射线,就是以某个位置(origin)朝某个方向(direction)的一条射线,是一 ...
- 自己动手编写IOC框架(二)
万事开头难,上篇已经起了一个头,之后的事情相对就简单了.上次定义了框架所需的dtd也就是规定了xml中该怎么写,有哪些元素.并且我们也让dtd和xml绑定在了一起,使dtd对xml的格式进行校验,并且 ...
- nyoj 63 小猴子下落 思维
nyoj 63 小猴子下落 题目链接: http://acm.nyist.net/JudgeOnline/problem.php?pid=63 思路: 不需要用指针创建二叉树,也不需要用数组来模拟二叉 ...