python有个内置模块发送请求urllib
的request
的 openurl()
方法,打开一个链接,就是发送一个请求,,
因为内置模块发请求不是那么好用,一般都会使用第三方的请求包,requests
模块,
请求头
User-Agent
: 身份标识,表示用的什么发送请求
Referer
: 防盗链,,(这次请求是从哪个页面来的)
cookie
: 用户登录信息
响应头
cookie
神奇的东西
: 反爬而设置的障碍
requests使用
get
keyword = input("关键字:")
url = f"https://www.sogou.com/web?query={keyword}"import requestsheaders = {"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36"
}resp = requests.get(url,headers=headers)
# print(resp.text)# 查看请求的header
print(resp.request.headers)
get携带参数
import requestsurl = "https://movie.douban.com/j/search_subjects"
params = {"type": "tv","tag": "国产剧","page_limit": "50","page_start": "0",}headers = {"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36"
}resp = requests.get(url,params = params,headers=headers)print(resp.text)
print(resp.request.url)
post
import requestsurl = "https://fanyi.baidu.com/sug"data = {"kw":input("请输入一个单词:")
}resp = requests.post(url,data=data)# 字符串
# print(resp.text)
# 返回的是json 字典,,
result = resp.json()["data"]for item in result:# print(item,type(item))for k,v in item.items():print(k,v)