• 11_Python_请求库_Requests的使用


    1.安装Requests

    pip install requests
    

    2.导入 Requests 模块:

    import requests
    

    3.发送请求

    import requests
    
    # 使用get的请求方式,尝试获取某个网页。
    response = requests.get('https://www.baidu.com/')
    
    # 发送一个post请求
    response = requests.post('http://httpbin.org/post', data={'key': 'value'})
    
    # 其他 HTTP 请求类型:PUT,DELETE,HEAD 以及 OPTIONS
    response = requests.put('http://httpbin.org/put', data={'key': 'value'})
    response = requests.delete('http://httpbin.org/delete')
    response = requests.head('http://httpbin.org/get')
    response = requests.options('http://httpbin.org/get')
    

    4.为URL传递参数

    import requests
    
    #为URL传递参数
    payload = {'key1': 'value1', 'key2': 'value2'}
    r = requests.get("http://httpbin.org/get", params=payload)
    
    print(r.url)
    #输出内容:http://httpbin.org/get?key1=value1&key2=value2
    

    5.响应内容

    5.1 文本响应内容

    import requests
    
    # 文本响应内容
    r = requests.get("https://www.baidu.com/")
    
    print(r.text)
    # 注意:
    #   1.请求发出后,Requests会基于HTTP头部对响应的编码作出有根据的推测。
    #   2.当你访问r.text 之时,Requests会使用其推测的文本编码,返回页面内容。
    
    # 使用 r.encoding 设置文本编码格式:
    
    print(r.encoding)
    # 输出内容:ISO-8859-1
    r.encoding = 'ISO-8859-1'
    

    5.2 二进制响应内容

    import requests
    
    # 二进制响应内容
    r = requests.get("https://www.baidu.com/")
    print(r.content)
    

    5.3 JSON 响应内容

    import requests
    
    # JSON 响应内容
    r = requests.get("https://api.github.com/events")
    print(r.json())
    

    6.定制请求头

    import requests
    
    # 定制请求头
    url = 'https://www.baidu.com/'
    headers  = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'}
    
    r = requests.get(url, headers=headers)
    

    7.响应状态码

    import requests
    
    # 响应状态码
    url = 'https://www.baidu.com/'
    headers  = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'}
    r = requests.get(url, headers=headers)
    
    #打印响应状态码
    print(r.status_code)
    
    #输出内容:200
    

    8.响应头

    import requests
    
    # 响应头
    url = 'https://www.baidu.com/'
    headers  = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'}
    r = requests.get(url, headers=headers)
    
    #打印响应头
    print(r.headers)
    #输出内容:200
    
    #获取请求头中的信息
    print(r.headers.get('Bdqid'))
    #输出内容:0xa44ddfe600007e3f
    

    9.Cookie

    import requests
    
    # Cookie
    url = 'https://www.baidu.com/'
    r = requests.get(url)
    #方法一:直接设置Cookie
    r.cookies['Cookie_valves']
    
    #方法二:使用字典传入
    cookies = {'Cookie':'Cookie_valves'}
    cookies = dict(Cookie='Cookie_valves')
    
    r = requests.get(url, cookies=cookies)
    

    10.超时

    • 通过给requests中的timeout传入参数,设定的秒数时间之后停止等待响应。
    import requests
    
    # timeout 参数设定的秒数时间之后停止等待响应
    url = 'https://www.baidu.com/'
    r = requests.get(url,timeout = 5)
    # 如果5秒内服务器没有回应我们的请求,就提示超时的错误
    

    11.保持会话:Session()

    import requests
    
    #  保持会话
    s = requests.Session()
    r = requests.get('https://www.baidu.com/')
    
    

    12.代理

    import requests
    
    proxies = {
      "http": "http://10.10.1.10:3128",
      "https": "http://10.10.1.10:1080",
    }
    
    requests.get("http://example.org", proxies=proxies)
    

    参考资料:

  • 相关阅读:
    24.最优布线问题(kruskal算法)
    24.最优布线问题(kruskal算法)
    Algs4-1.4.11为StaticSETofInts添加一个实列方法howMany()
    Algs4-1.4.9预测程序运行时间
    Algs4-1.4.10二分查找找出元素所在的最小索引
    Algs4-1.4.7统计算术运算与比较次数
    Algs4-1.4.8计算输入文件中相等的整数对的数量
    Algs4-1.4.6给出以下代码段的运行时间的增长数量级
    Algs4- 1.4.4参照表1.4.4为TwoSum建立一和类似的表格
    Algs4-1.4.2修改ThreeSum防止两个int值相加可能溢出
  • 原文地址:https://www.cnblogs.com/jasontang369/p/9240897.html
Copyright © 2020-2023  润新知