• Python 网页请求:requests库的使用


    ✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。
    🍎个人主页:小嗷犬的博客
    🍊个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。
    🥭本文内容:Python 网页请求:requests库的使用


    Python 网页请求:requests库的使用


    requests库简介

    requests 是 Python 中比较常用的网页请求库,主要用来发送 HTTP 请求,在使用爬虫或测试服务器响应数据时经常会用到,使用起来十分简洁。

    requests 为第三方库,需要我们通过pip命令安装:

    pip install requests
    
    • 1

    requests库方法介绍

    下表列出了requests库中的各种请求方法:

    方法描述
    delete(url, args)发送 DELETE 请求到指定 url
    get(url, params, args)发送 GET 请求到指定 url
    head(url, args)发送 HEAD 请求到指定 url
    patch(url, data, args)发送 PATCH 请求到指定 url
    post(url, data, json, args)发送 POST 请求到指定 url
    put(url, data, args)发送 PUT 请求到指定 url
    request(method, url, args)发送指定的请求方到指定 url

    每次调用 requests 请求之后,会返回一个 response 对象,该对象包含了具体的响应信息。

    response 对象具有以下属性:

    属性描述
    apparent_encoding编码方式
    content返回响应的内容,以字节为单位
    cookies返回一个 CookieJar 对象,包含了从服务器发回的 cookie
    elapsed返回一个 timedelta 对象,包含了从发送请求到响应到达之间经过的时间量,可以用于测试响应速度。
    比如 r.elapsed.microseconds 表示响应到达需要多少微秒。
    encoding解码 r.text 的编码方式
    headers返回响应头,字典格式
    history返回包含请求历史的响应对象列表(url)
    is_permanent_redirect如果响应是永久重定向的 url,则返回 True,否则返回 False
    is_redirect如果响应被重定向,则返回 True,否则返回 False
    links返回响应的解析头链接
    next返回重定向链中下一个请求的 PreparedRequest 对象
    ok检查 “status_code” 的值,如果小于400,则返回 True,如果不小于 400,则返回 False
    reason响应状态的描述,比如 “Not Found” 或 “OK”
    request返回请求此响应的请求对象
    status_code返回 http 的状态码,比如 404 和 200(200 是 OK,404 是 Not Found)
    text返回响应的内容,unicode 类型数据
    url返回响应的 URL

    response 对象还具有一些方法:

    方法描述
    close()关闭与服务器的连接
    iter_content()迭代响应
    iter_lines()迭代响应的行
    json()返回结果的 JSON 对象 (结果需要以 JSON 格式编写的,否则会引发错误)
    raise_for_status()如果发生错误,方法返回一个 HTTPError 对象

    有了这些我们就可以自由的发送页面请求了。


    代码实例

    下面这段代码使用 GET 请求获取了CSDN首页的网页内容:

    import requests
    
    x = requests.get('https://www.csdn.net/')
    
    print(x.text)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    可以查看 response 对象的各种响应信息:

    import requests
    
    x = requests.get('https://www.csdn.net/')
    
    print(x.reason)
    print(x.status_code)
    print(x.apparent_encoding)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    学会了网页请求,我们很快就可以进行爬虫了。

  • 相关阅读:
    QGIS展示三维DEM数据
    单细胞论文记录(part27)--Method of the Year: spatially resolved transcriptomics
    Unix环境高级编程--8-进程控制---8.7函数waitid 8.8函数wait3 wait4
    20道常考Python面试题大总结
    VoLTE端到端业务详解 | 基本概念
    设计模式之解释器模式
    开发环境搭建---Ubuntu18.04开发环境搭建
    基于花授粉优化的BP神经网络(分类应用) - 附代码
    vue学习-10vue整合SpringBoot跨域请求
    ElasticSearch-Head 数据浏览406问题解决
  • 原文地址:https://blog.csdn.net/qq_63585949/article/details/126754996