python有个内置模块发送请求urllib的request的 openurl()方法,打开一个链接,就是发送一个请求,,
 
 因为内置模块发请求不是那么好用,一般都会使用第三方的请求包,requests模块,
请求头
User-Agent : 身份标识,表示用的什么发送请求
 Referer : 防盗链,,(这次请求是从哪个页面来的)
 cookie : 用户登录信息
响应头
cookie
 神奇的东西: 反爬而设置的障碍
requests使用
get
keyword = input("关键字:")
url = f"https://www.sogou.com/web?query={keyword}"
import requests
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,headers=headers)
# print(resp.text)
# 查看请求的header
print(resp.request.headers)
 
get携带参数
import requests
url = "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 requests
url = "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)
                

















