• Python requests库大全



    活动地址:CSDN21天学习挑战赛

    一、requests库的安装

    命令:

    pip install requests

    在这里插入图片描述

    二、常用的属性或方法

    在这里插入图片描述

    • 7大方法说明
    方法说明
    requests.delete() 获取HTML页面提交删除请求,对应于 HTTP 的 DELETE。
    requests.put() 获取HTML网页提交PUT请求方法,对应于 HTTP 的 PUT。
    requests.patch() 获取HTML网页提交局部修改请求,对应于 HTTP 的 PATCH。
    requests.request()构造一个请求对象,该方法是实现以下各个方法的基础。
    requests.post() 获取 HTML 网页提交 POST请求方法,对应于 HTTP 的 POST。
    requests.get() 获取HTML网页的主要方法,对应于 HTTP 的 GET 方法。
    requests.head() 获取HTML网页头信息的方法,对应于 HTTP 的 HEAD 方法。
    • 案例:
      在这里插入图片描述
    import requests
    
    # 目标地址
    url = "http://www.baidu.com"
    
    # 请求响应
    response = requests.get(url)
    
    # 查看状态码
    print(response.status_code)
    
    # 查看响应对象类型
    print(type(response))
    
    # 查看响应内容类型
    print(type(response.text))
    
    # 查看Cookies
    print(response.cookies)
    
    #查看响应内容
    print(response.content)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    完整结果:

    200
    <class 'requests.models.Response'>
    <class 'str'>
    <RequestsCookieJar[<Cookie BDORZ=27315 for .baidu.com/>]>
    b'\r\n \xe7\x99\xbe\xe5\xba\xa6\xe4\xb8\x80\xe4\xb8\x8b\xef\xbc\x8c\xe4\xbd\xa0\xe5\xb0\xb1\xe7\x9f\xa5\xe9\x81\x93  
    \r\n'
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    三、response.text和response.content区别

    • response.text:

    类型:str
    解码类型:requests模块自动根据http头部响应的编码做出推测,推测文本编码

    • response.content:

    类型:byte
    解码类型:执行挑选
    解决中文乱码:response.content.decode(‘gbk’)

    • 常见编码字符集

    utf-8
    gbk
    gb2312
    ascii
    iso-8859-1
    在这里插入图片描述

    import requests
    
    # 目标地址
    url = "http://www.baidu.com"
    
    # 请求响应
    response = requests.get(url)
    response.encoding='utf8'
    # 查看text
    print(type(response.text))
    # 解决中文乱码
    print(response.text)
    
    # 查看content
    print(type(response.content))
    # 解决中文乱码
    print(response.content.decode('utf-8'))
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    结果:

    <class 'str'>
    <!DOCTYPE html>
    <!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道</title></head> <body link=#0000cc> 

    关于百度 About Baidu

    ©2017 Baidu 使用百度前必读  意见反馈 京ICP证030173号 

    <class 'bytes'> <!DOCTYPE html> <!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道</title></head> <body link=#0000cc>

    关于百度 About Baidu

    ©2017 Baidu 使用百度前必读  意见反馈 京ICP证030173号 

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    四、带有headers头的请求

    1、带有headers的

    在这里插入图片描述
    在这里插入图片描述

    import requests
    
    # 目标地址
    url = "http://www.baidu.com"
    
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36"
    }
    # 请求响应
    response = requests.get(url, headers=headers)
    response.encoding = 'utf8'
    
    # 解决中文乱码
    print(response.text)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    2、带有Cookies的

    在这里插入图片描述
    在这里插入图片描述

    import requests
    
    # 目标地址
    url = "http://www.baidu.com"
    
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36",
        "Cookie":"BIDUPSID=E13E3AFEAFE1A720A05B9F5DD188DA9F; PSTM=1612862915; __yjs_duid=1_aeb07b7a02b31096e3ba43f0a09be3ed1624001574650; BD_UPN=12314753; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; BDUSS=l4aFJNaDFFcVdwblRvV2FMamlIWkdoNm93Y1VBb0c3TlZvbFBpeDhSWlo1U05qRVFBQUFBJCQAAAAAAAAAAAEAAAAZMrCx0-vSwV-21NL7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFlY~GJZWPxiSG; BDUSS_BFESS=l4aFJNaDFFcVdwblRvV2FMamlIWkdoNm93Y1VBb0c3TlZvbFBpeDhSWlo1U05qRVFBQUFBJCQAAAAAAAAAAAEAAAAZMrCx0-vSwV-21NL7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFlY~GJZWPxiSG; MCITY=-:; BAIDUID=39B1AEE1C4B1DC92C9D4AE0DD2A5121B:SL=0:NR=10:FG=1; BDSFRCVID=WRCOJexroG0m9DjDpNeYtW5GZ2KK0gOTDYLEOwXPsp3LGJLVcjL2EG0Ptsi5Gcu-ox7CogKK0mOTHv0F_2uxOjjg8UtVJeC6EG0Ptf8g0M5; H_BDCLCKID_SF=tb-t_K8XJID3DbTTMbOS2DC3bfQL5-Rb54o2WbCQJh_W8pcNLTDKjpKnbUR90n88ygnJ-K5TyJolDljG-lO1j45yQJ7zbIrR-TR9WbbP2Uodsp5jDh3Hb6ksD-RtW6Oetavy0hvctn6cShnCDMjrDRLbXU6BK5vPbNcZ0l8K3l02V-bIe-t2b6QhDHt8J5kOJb3aQ5rtKRTffjrnhPF3XJk3XP6-hnjy3bRLVlb_3PJJhRnm3TonW6DUyN3MWh3RymJ42-39LPO2hpRjyxv4-PITD4oxJpOJ-KKtKbOaHR7WMpOvbURvD-ug3-7qJU5dtjTO2bc_5KnlfMQ_bf--QfbQ0hOhqP-jBRIEoC0XtKPWMIv65nt_-n0XMq0X5-RLf5uJVp7F54nKDp0xhjrUMx0QbN7J-p-t3aLHahkM5h7xsMTsQtrzKM0Aynrw5xrtQD7B2IoN3KJmf-OYjfJj5Due2aJm2-biWbRL2MbdbDJP_IoG2Mn8M4bb3qOpBtQmJeTxoUJ25DnJhhCGe6LbejJbeats-bbfHD7JQJTMHJOoDDvEQ4Rcy4LbKxnxJPu83IQRQn3NK-bRMq3LDxRvD--g3-OkWUQ0W6RR-lvwBJjYffQnMxkKQfbQ0hOea6QxK5ILW-P50b7JOpkxhfnxyb5QQRPH-Rv92DQMVU52QqcqEIQHQT3m5-5bbN3ut6IDJbKeVIP5fbo5KRopMtOhq4tehHRUQfJ9WDTOQJ7TtnCBsbceKMTqWJ0ijtJzJfnitIv9-pbwBp5cfUnMKn05XM-pXbj2afAH3mkjbPbb2C5nHPKzhnAbLP4syP4j2xRnWTFjKfA-b4ncjRcTehoM3xI8LNj405OTbIFO0KJzJCcjqR8Zj5DhjTbP; BDSFRCVID_BFESS=WRCOJexroG0m9DjDpNeYtW5GZ2KK0gOTDYLEOwXPsp3LGJLVcjL2EG0Ptsi5Gcu-ox7CogKK0mOTHv0F_2uxOjjg8UtVJeC6EG0Ptf8g0M5; H_BDCLCKID_SF_BFESS=tb-t_K8XJID3DbTTMbOS2DC3bfQL5-Rb54o2WbCQJh_W8pcNLTDKjpKnbUR90n88ygnJ-K5TyJolDljG-lO1j45yQJ7zbIrR-TR9WbbP2Uodsp5jDh3Hb6ksD-RtW6Oetavy0hvctn6cShnCDMjrDRLbXU6BK5vPbNcZ0l8K3l02V-bIe-t2b6QhDHt8J5kOJb3aQ5rtKRTffjrnhPF3XJk3XP6-hnjy3bRLVlb_3PJJhRnm3TonW6DUyN3MWh3RymJ42-39LPO2hpRjyxv4-PITD4oxJpOJ-KKtKbOaHR7WMpOvbURvD-ug3-7qJU5dtjTO2bc_5KnlfMQ_bf--QfbQ0hOhqP-jBRIEoC0XtKPWMIv65nt_-n0XMq0X5-RLf5uJVp7F54nKDp0xhjrUMx0QbN7J-p-t3aLHahkM5h7xsMTsQtrzKM0Aynrw5xrtQD7B2IoN3KJmf-OYjfJj5Due2aJm2-biWbRL2MbdbDJP_IoG2Mn8M4bb3qOpBtQmJeTxoUJ25DnJhhCGe6LbejJbeats-bbfHD7JQJTMHJOoDDvEQ4Rcy4LbKxnxJPu83IQRQn3NK-bRMq3LDxRvD--g3-OkWUQ0W6RR-lvwBJjYffQnMxkKQfbQ0hOea6QxK5ILW-P50b7JOpkxhfnxyb5QQRPH-Rv92DQMVU52QqcqEIQHQT3m5-5bbN3ut6IDJbKeVIP5fbo5KRopMtOhq4tehHRUQfJ9WDTOQJ7TtnCBsbceKMTqWJ0ijtJzJfnitIv9-pbwBp5cfUnMKn05XM-pXbj2afAH3mkjbPbb2C5nHPKzhnAbLP4syP4j2xRnWTFjKfA-b4ncjRcTehoM3xI8LNj405OTbIFO0KJzJCcjqR8Zj5DhjTbP; BAIDUID_BFESS=39B1AEE1C4B1DC92C9D4AE0DD2A5121B:SL=0:NR=10:FG=1; ZD_ENTRY=baidu; delPer=0; BD_CK_SAM=1; PSINO=2; BA_HECTOR=8l0g8g812gah25ak0505tt031hfug4e17; ZFY=1Bnu0YdnT7iGeviuxkbKKpgvP51pce2Nahl7Il32:AFk:C; BD_HOME=1; H_PS_PSSID=37156_36558_36464_36642_37110_36884_34813_36918_36776_37121_37176_37136_26350_36864_22158; H_PS_645EC=0b7ewc1vCAuoVg4XsVf6cSpAaf1EbHi1d9SmT70DQp2/qeskds3Z81coSuM; sug=3; sugstore=1; ORIGIN=0; bdime=0"
    }
    # 请求响应
    response = requests.get(url, headers=headers)
    response.encoding = 'utf8'
    
    # 解决中文乱码
    print(response.text)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    五、timeout连接超时

    在这里插入图片描述

    import requests
    
    # 目标地址
    url = "http://www.baidu.com"
    
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36",
    
    }
    # 请求响应  连接超时设定时间为10秒
    response = requests.get(url, headers=headers, timeout=10)
    response.encoding = 'utf8'
    
    # 解决中文乱码
    print(response.text)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    六、post请求

    在这里插入图片描述

    在这里插入图片描述

    import requests
    import json
    
    # 目标地址
    url = "https://fanyi.baidu.com/"
    #
    fromData = {
        'from': 'en',
        'to': 'zh',
        'query': 'hello',
        'token': 'xxxx'
    }
    
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36",
    }
    # 请求响应
    response = requests.post(url=url, data=fromData, headers=headers)
    print(response.text)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
  • 相关阅读:
    孩子没有感统失调的表现,还有必要做感统训练吗?
    公司分支使用5G链路和总部建立IPS加密隧道配置案例
    如何使用LightPicture部署私人图床实现远程访问与图片管理?
    【十字链表,邻接多重表(无向图的另一种链式存储结构),图的遍历】
    HP打印机一点击打印就出现Windows资源管理器已停止工作问题解决
    如何用vscode远程连接Linux服务器
    Allegro172版本DFM规则之DFA Package spacing
    基于inquirer封装一个控制台文件选择器
    css选择器(通配符、(元素、类、id)、后代(子代、所有后代)、兄弟(相邻兄弟、所有兄弟)、属性(属性、指定值的属性)、交集并集)
    Springboot毕设项目古建筑信息现代数字化管理平台z6mmx(java+VUE+Mybatis+Maven+Mysql)
  • 原文地址:https://blog.csdn.net/walykyy/article/details/126424808