• 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
  • 相关阅读:
    [北京.NET俱乐部]征集T恤设计方案
    [新功能]个人Blog首页分页浏览
    [公告]关于用户资料的保密
    奇怪的邮件与MSN密码
    文章发布功能改动
    [活动]北京.NET俱乐部首次活动照片及讲课资料
    [活动公告]上海.NET俱乐部首次活动预告
    [征询意见]关于开设.NET 2.0专题
    [北京.NET俱乐部活动]参加者签名并谈一下感受
    CSS3 transform 2D实验(1)
  • 原文地址:https://www.cnblogs.com/cuzz/p/7658103.html
Copyright © 2020-2023  润新知