使用requests模块发送带有参数的请求

使用requests模块发送带有参数的请求

  • 思考: 如何模拟搜狗搜索内容 ?

    • 发送带有参数请求,在URL后面加上query=要搜索的内容
  • URL编码:

  • 在requests发送get请求指定参数的格式 ?

    • 方式1: 自己拼接一个带有参数的URL
    • 方式2: 在发送请求的时候,使用params进行指定格式:
      • requests.get("url", params={})

方式1: 自己拼接一个带有参数的URL

    import requests
    # 发送带有参数的请求
    # 方式1: 拼接URL
    # 键盘录入要搜索的内容获取搜索结果
    # url = "https://www.sogou.com/web?query=%s"
    url = "https://www.sogou.com/web?query={}"
    key = input("请录入你要搜索的内容: ")
    # url = url % key
    url = url.format(key)
    # print(url)
    # 发送请求
    headers = {
        "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36"
    }
    response = requests.get(url,headers=headers)
    if response.status_code == 200:
        print(response.content.decode())

方式2: 使用字典指定请求参数

    headers = {
        "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36"
    }
    # 准备参数
    key = input("请录入你要搜索的内容: ")
    params = {"query":key}

    basic_url = "https://www.sogou.com/web"
    # 发送带有参数的请求
    response = requests.get(basic_url, params=params, headers=headers)
    # 获取请求结果打印
    content = response.content.decode()
    print(content)
  • 小结:
    • 如果发送GET请求需要指定参数怎么办
    • 方式1: 拼接URL(推荐)
    • 方式2: 通过params参数指定
    • 原则: 使用哪种方式简单就用哪种方式

猜你喜欢

转载自blog.csdn.net/xiaochendefendoushi/article/details/81124894