python的requests库
发布日期:2021-05-14 15:21:38 浏览次数:22 分类:精选文章

本文共 1600 字,大约阅读时间需要 5 分钟。

python的requests库

作用: 发送网络请求,返回响应数据

为什么要学习requests,而不是urllib?

使用requests库而不是urllib有以下几个原因:

  • requests的底层实现就是urllib

    requests库基于Python的标准库urllib底层实现,但通过抽象层使接口更加友好。

  • requests在python2和python3中通用,方法完全一样

    无论是Python2还是Python3,requests库的使用方法一致,避免了版本差异问题。

  • requests简单易用

    requests库的API设计简洁直观,使用起来非常方便。

  • Requests能够自动帮助我们解压(gzip压缩等)网页内容

    在获取网页内容时,requests能够自动识别并解压压缩格式,减少了手动处理的工作量。


  • Urllib库

    Urllib是Python内置的HTTP请求库,虽然功能基础但功能较为简单。它是requests库的底层库,但使用起来相对低级。


    实例代码

    发送GET请求

    import requests
    r = requests.get('https://api.github.com/events')

    发送不同类型的请求

    r = requests.post('http://httpbin.org/post', data = {'key':'value'})
    r = requests.put('http://httpbin.org/put', data = {'key':'value'})
    r = requests.delete('http://httpbin.org/delete')
    r = requests.head('http://httpbin.org/get')
    r = requests.options('http://httpbin.org/get')

    获取返回内容

    # 使用r.text获取字符串内容
    r = requests.get('https://www.baidu.com/')
    print(r.text)
    # 查看字符编码
    print(r.encoding)
    # 设置编码
    r.encoding = "utf-8"
    print(r.encoding)
    # 使用r.content获取原始二进制数据
    print(r.content) # bytes类型数据,需要decode解码
    print(r.content.decode()) # 转换为字符串

    请求库保存图片

    import requests
    r = requests.get("https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png")
    # 保存图片到本地文件
    with open("test.png","wb") as f:
    f.write(r.content)

    requests库的优势

  • 简洁易用

    相比urllib,requests库的API设计更加简洁,调用次数减少。

  • 自动处理压缩格式

    requests能够自动识别并解压网页内容,减少了手动处理的麻烦。

  • 处理各种HTTP方法

    不仅支持GET,还支持POST、PUT、DELETE、HEAD等多种HTTP方法。

  • 返回完整的响应对象

    通过response对象可以获取大量HTTP响应数据,包括状态码、头信息等。

  • 适用于多种开发场景

    无论是Web开发、API调用,还是数据抓取,都可以通过requests轻松实现。


  • 总结

    requests库是现代Python开发中必不可少的工具之一。它不仅简化了HTTP请求的实现,还提供了丰富的功能,帮助开发者快速完成各种网络操作。如果你还在使用urllib,尝试一下requests库,你会发现它的强大之处。

    上一篇:pydicom
    下一篇:常用控件

    发表评论

    最新留言

    很好
    [***.229.124.182]2025年04月08日 07时49分36秒