zoukankan      html  css  js  c++  java
  • urllib 库的代替品 requests 的用法

    Requuests 官方的介绍时多么的霸气,之所以那么霸气,是因为 Requestts 相比于 urllib 在使用方面上会让开发者感到更加的人性化、更加简洁、更加舒适,并且国外的一些公司也在使用requests库。

    看看他又那些特性:

      。Keep-Alive & 连接池

      。国际化域名和 URI

      。带持久 Cookie 的会话

      。浏览器式的 SSL认证

      。自动内容解码

      。基本/摘要式的身份认证

      。优雅的key/value Cookie

      。自动解压

      。Unicode 响应体

      。HTTP(S)代理支持

      。文件分块上传

      。流下载

      。连接超时

    ·  。分块请求

      。支持.netrc

    1、简单的专抓取页面

    import requests
    
    # 使用 get 请求方式
    response = requests.get("https://tieba.baidu.com/")
    print(response.text)


    # 使用 post 方式请求
    response = requests.post("https://tieba.baidu.com/")
    print(response.text)

    2、使用代理

      有些网站做了浏览器频率限制。如果我们请求该网站频率过高,该网站会封掉我们的 IP,禁止我们的访问,所以我们需要使用代理来突破这“枷锁”。这里需要用到 proxies参数,proxies 也是一个字典类型。具体用法如下

    imports
    
    url = "http://tieba.baidu.com/"
    proxies = {
           "http":"web-proxy.oa.com:8080",
            "https":"web-proxy.oa.com:8080"
           # 若你的代理需要使用 HTTP Basic Auth,可以使用 http://password@host/语法                   
    }
    
    response = requests.get(url, proxies = proxies)
    print(response.text)
    print(response.url)

    3、使用 Cookie

       想在响应结果中获取 cookie 的一些值,可以直接访问。

    response。cookies['key'] # key 为 Cookie 字典中键

      想发送 cookie 到服务器,可以使用 cookies 参数。同样该参数是字典类型

    url = ‘http://httpin.org/cookies/'
    
    cookies = {"domain":'httpin.org',}
    
    response = requests.get(url, cookies = cookies)
    print(response.text)
  • 相关阅读:
    《编写高质量代码Web前端开发修炼之道》(读书笔记) windrainpy
    jQuery琐碎笔记 windrainpy
    【记录】事件冒泡和事件捕获 windrainpy
    JS比较容易迷惑的几个地方 windrainpy
    【转】成为顶级程序员的唯一途径! windrainpy
    jquery键盘事件 windrainpy
    【转】IE绝对定位元素神秘消失或被遮挡的解决 windrainpy
    简单算法
    HTTP的状态
    css的兼容问题
  • 原文地址:https://www.cnblogs.com/jcjc/p/11124992.html
Copyright © 2011-2022 走看看