查询参数的基本使用

本文最后更新于 2024年7月18日 凌晨

查询参数的基本使用

我们在使用百度的时候经常会发现 URL 中的地址会有一个 ? ,那么这个问号后面的就是请求参数,又叫做查询字符串,查询参数

示例

就比如上述的例子,1 和明显就有请求参数,而 2 就没有请求参数

查询参数的形式:字典

1
kw = {'wd':'长城'}

传递参数的用法

方式一

直接通过字符串的拼接来传递参数

与上一篇文章中爬取豆瓣 TOP250 类似:

1
2
3
for i in range(10):
url = self.base_url.format(i * 25)
self.url_list.append(url)

使用 format 或者是 + 等字符串拼接的方式来组成新的 URL 地址

方式二

使用 requests 来传递查询参数

1
requests.get(url.params=kw)

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from lxml import etree
import requests

# 使用全大写字母命名常量URL
URL = "https://cn.bing.com/search"

headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.128 Safari/537.36 Edg/89.0.774.77",
}

# 请求参数(查询参数)
params = {"q": "邓紫棋"} # 修改为q作为查询参数,而不是p

# 发送请求并检查状态码
response = requests.get(URL, headers=headers, params=params)
if response.status_code == 200:
# 假设响应是UTF-8编码的,并只检查响应的前部分(如1000字节)
if "邓紫棋" in response.content[:1000].decode("utf-8"):
print("找到")
else:
print("未找到")
else:
print(f"请求失败,状态码:{response.status_code}")

此处的结果应该为

1
找到

查询参数的基本使用
http://example.com/2024/07/18/pachong-4/
作者
Coder7
发布于
2024年7月18日
许可协议