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)
  • 相关阅读:
    LeetCode剑指Offer03
    腾讯软件开发客户端开发实习生二面
    luogu P2801 教主的魔法 分块
    luogu P3396 哈希冲突 根号算法
    luogu P1972 [SDOI2009]HH的项链 树状数组
    BZOJ 2440: [中山市选2011]完全平方数 莫比乌斯函数 容斥原理 二分答案
    柳阴直,烟里丝丝弄碧
    卡通别名
    它们
    高中随笔
  • 原文地址:https://www.cnblogs.com/jcjc/p/11124992.html
Copyright © 2011-2022 走看看