本文最后更新于 2024年7月18日 凌晨
查询参数的基本使用
我们在使用百度的时候经常会发现 URL 中的地址会有一个 ?
,那么这个问号后面的就是请求参数,又叫做查询字符串,查询参数
示例
就比如上述的例子,1 和明显就有请求参数,而 2 就没有请求参数
查询参数的形式:字典
传递参数的用法
方式一
直接通过字符串的拼接来传递参数
与上一篇文章中爬取豆瓣 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 = "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": "邓紫棋"}
response = requests.get(URL, headers=headers, params=params) if response.status_code == 200: if "邓紫棋" in response.content[:1000].decode("utf-8"): print("找到") else: print("未找到") else: print(f"请求失败,状态码:{response.status_code}")
|
此处的结果应该为