urllib
import urllib.request import urllib.parse # 请求地址 url = 'http://www.baidu.com' url_img_video = '' # 影音文件 headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36' } # 请求参数 data = { 'kw':'', 'username':'' } # 对请求参数编码 # new_data_get = urllib.parse.urlencode(data) # get请求 new_data_post = urllib.parse.urlencode(data).encode('utf-8') # post请求 # 代理池 proxies_pool = [ {'http':'118.24.219.151:16871'}, {'http':'118.24.219.151:16871'} ] import random proxies = random.choice(proxies_pool) # 1.直接请求地址(get请求) # response = urllib.request.urlopen(url) # content = response.read().decode('utf-8') # 读取所有数据 # print(content) # response = urllib.request.urlretrieve(url=url_img_video,filename='这里写下载后的文件名,要有后缀名') # 文件下载 # 2.添加请求头等,如果是get请求,直接将new_data拼接到URL上;如果是post请求则需要添加"data = " # request = urllib.request.Request(url=url + new_data_get,headers=headers) # get请求 # request = urllib.request.Request(url=url,headers=headers,data=new_data_post) # post请求 # response = urllib.request.urlopen(request) # content = response.read().decode('utf-8') # print(content) # 3.处理器处理请求 request = urllib.request.Request(url=url,headers=headers) # handler = urllib.request.HTTPHandler() # 无代理 handler = urllib.request.ProxyHandler(proxies=proxies) # 有代理 opener = urllib.request.build_opener(handler) response = opener.open(request) content = response.read().decode('utf-8') # 4.返回的数据显示成json格式 import json obj = json.loads(content) print(obj['data'])