1. 使用requests模块发送get请求,获取网页源代码
import requests url = "http://www.baidu.com" resp = requests.get(url) resp.encoding = "utf-8" # 如果resp.text是乱码则需要指定编码格式,一般不是utf-8就是gbk print(resp.text)
2. get请求可以携带参数,get请求的参数写在url的域名后面
import requests kw = input("请输入要检索的关键字: ") url = f"https://www.sogou.com/web?query={kw}" headers = { # 添加一个请求头信息UA,如果没有请求头,目标服务器会拒绝我们访问,这是一个最简单的反爬手段,只需要在http请求头中添加浏览器信息,就可以骗过目标服务器。 "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.57" } resp = requests.get(url, headers=headers) print(resp.text)
3. 使用requests模块发送post请求
import requests url = "https://fanyi.baidu.com/sug" data = { "kw": input("请输入一个单词") } resp = requests.post(url, data=data) print(resp.text) # 拿到json字符串 print(resp.json) # 拿到json字典
4. 当get请求参数太多时怎么处理
import requests url = "https://movie.douban.com/j/chart/top_list" headers = { # 添加一个请求头信息UA,如果没有请求头,目标服务器会拒绝我们访问,这是一个最简单的反爬手段,只需要在http请求头中添加浏览器信息,就可以骗过目标服务器。 "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.57" } data = { "type": "13", "interval_id": "100:90", "action": "", "start": "0", "limit": 20 } resp = requests.get(url, params=data, headers=headers) # get请求会默认把params参数拼到url后面 print(resp.text) # 拿到json字符串 print(resp.json()) # 拿到json字典 print(resp.request.url)