requests库

GET请求

  • 基本实例
    import requests
    
    response = requests.get('https://www.httpbin.org/get')
    print(response.text)
    
    在这里插入图片描述
  • params参数
    import requests
    data = {
        "name":"Bileton",
        "age":"21"
    }
    response = requests.get('https://www.httpbin.org/get',params=data)
    print(response.text)
    
    在这里插入图片描述
  • json格式
    网页响应的类型是字符串类型的,但这里也是JSON格式的,可以直接调用json方法
    import requests
    data = {
        "name":"Bileton",
        "age":"21"
    }
    response = requests.get('https://www.httpbin.org/get',params=data)
    print(response.json())
    # {'args': {'age': '21', 'name': 'Bileton'}, 'headers': {'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate, br, zstd', 'Host': 'www.httpbin.org', 'User-Agent': 'python-requests/2.32.3', 'X-Amzn-Trace-Id': 'Root=1-672a4784-12ddc86a16dd0f3d4001ec86'}, 'origin': '125.45.126.225', 'url': 'https://www.httpbin.org/get?name=Bileton&age=21'}
    
  • 请求头(Request Headers)
    添加请求头信息,设置headers参数
    import requests
    data = {
        "name":"Bileton",
        "age":"21"
    }
    headers = {
    "user-agent":
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0"
    }
    response = requests.get('https://www.httpbin.org/get',params=data,headers=headers)
    print(response.json())
    
    在这里插入图片描述

POST请求

  • 基本实例
    params = {
        "name":"Bileton",
        "age":"21"
    }
    headers = {
    "user-agent":
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0"
    }
    
    data = {
        "name":"Bileton",
        "age":"21"
    }
    
    response = requests.post('https://www.httpbin.org/post',params=params,headers=headers,data=data)
    print(response.text)
    
    {
      "args": {
        "age": "21", 
        "name": "Bileton"
      }, 
      "data": "", 
      "files": {}, 
      "form": {
        "age": "21", 
        "name": "Bileton"
      }, 
      "headers": {
        "Accept": "*/*", 
        "Accept-Encoding": "gzip, deflate, br, zstd", 
        "Content-Length": "19", 
        "Content-Type": "application/x-www-form-urlencoded", 
        "Host": "www.httpbin.org", 
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0", 
        "X-Amzn-Trace-Id": "Root=1-672a4adb-4a7a532f3ebb47d17b9d45da"
      }, 
      "json": null, 
      "origin": "125.45.126.229", 
      "url": "https://www.httpbin.org/post?name=Bileton&age=21"
    }
    
    form是提交的数据

Cookie

  • 获取Cookie

    url = 'http://www.baidu.com'
    response = requests.get(url)
    
    print(response.cookies)
    for ket,value in response.cookies.items():
        print(ket+"="+value)
    
    <RequestsCookieJar[<Cookie BAIDUID=B66399BCCEE18461B7577D4F034E25E0:FG=1 for .baidu.com/>, <Cookie BAIDUID_BFESS=B66399BCCEE18461B7577D4F034E25E0:FG=1 for .baidu.com/>, <Cookie BIDUPSID=B66399BCCEE18461B7577D4F034E25E0 for .baidu.com/>, <Cookie H_PS_PSSID=61004_61027_61035_61078 for .baidu.com/>, <Cookie PSTM=1730825523 for .baidu.com/>, <Cookie BDSVRTM=6 for www.baidu.com/>, <Cookie BD_HOME=1 for www.baidu.com/>]>
    BAIDUID=B66399BCCEE18461B7577D4F034E25E0:FG=1
    BAIDUID_BFESS=B66399BCCEE18461B7577D4F034E25E0:FG=1
    BIDUPSID=B66399BCCEE18461B7577D4F034E25E0
    H_PS_PSSID=61004_61027_61035_61078
    PSTM=1730825523
    BDSVRTM=6
    BD_HOME=1
    
  • 维持登录状态
    Cookie
    登录github,把请求头中的Cookie内容复制下来
    在这里插入图片描述
    然后把Cookie内容取出放到请求头里

    url = 'https://github.com/'
    
    headers = {
        "user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36",
        "Cookie":"_octo=GH1.1.1248862582.1728219778; _device_id=64df60ce376c117249233fa8cfeadec3; saved_user_sessions=184353984%3A0OccUYxxcXaTR-83X8DhQWyUdrI5fjj7uqY0ELmpfxJ_PtQL; user_session=0OccUYxxcXaTR-83X8DhQWyUdrI5fjj7uqY0ELmpfxJ_PtQL; __Host-user_session_same_site=0OccUYxxcXaTR-83X8DhQWyUdrI5fjj7uqY0ELmpfxJ_PtQL; logged_in=yes; dotcom_user=Bileton; color_mode=%7B%22color_modEgGDB9310wz%2FQ2D9UrGflA%3D%3D"
    }
    response = requests.get(url,headers=headers)
    print(response.text)
    
  • SSL证书验证
    访问https://ssr2.scrape.center/,会出现“您的连接不是私密连接”
    在这里插入图片描述
    如果直接使用requests请求这个网站,会出现SSLError的错误。
    我们可以通过设置verify参数来控制是否验证证书,它的默认值是true。

    url = "https://ssr2.scrape.center/"
    response = requests.get(url,verify=False)
    print(response.status_code) # 200
    
  • 身份认证
    访问https://ssr3.scrape.center/,会有认证窗口
    在这里插入图片描述
    requests库自带有身份认证功能,通过auth参数即可设置。

    url = "https://ssr3.scrape.center/"
    response = requests.get(url,auth=('admin','admin'))
    print(response.status_code) # 200
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值