GET方法用来请求访问已被URI(统一资源定位符)识别的资源。指定的资源经服务器端解析后返回响应内容。get请求一般将要访问的内容包含在URL中。在百度首页搜索内容时,浏览器发送的就是一个get请求:
下面我们来编写一个获取百度首页搜索结果的程序。通过观察,我们发现搜索框中查找的内容在url中出现的位置为https://www.baidu.com/s?wd=python(这里的python就是输入框中输入的内容),下面我们来编写代码:
from urllib import request
import urllib
import random
# 定义基础url
base_url = "https://www.baidu.com/s?"
# 定义搜索列表
wd_list = [
{"wd": "中国"},
{"wd": "python"},
]
# 对搜索列表中的内容进行随机搜索
wd = random.choice(wd_list)
# 构造url编码,将key:value转换为key=value格式,如果有中文,将中文转换成utf-8的编码格式
wd = urllib.parse.urlencode(wd)
url = base_url + wd
print(url)
输出:
https://www.baidu.com/s?wd=%E4%B8%AD%E5%9B%BD
此时get请求要发送的url已经构造完成,可以发送请求并查看响应:
# 创建请求
req = request.Request(url)
# 查看响应
resp = request.urlopen(req).read().decode()
print(resp)