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

 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参数拿到

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

 

posted @ 2017-10-12 21:05  cuzz_z  阅读(259)  评论(0编辑  收藏  举报