1,什么叫做请求参数
2,参数的形式
3,发送带参数请求的两种用法
1,什么叫做请求参数
#https://www.baidu.com/s?word=python&tn=59189121_20_oem_dg
#网址的构成
#协议部分:https://
#域名部分:www.baidu.com
#资源路径部分:/s
#请求参数部分:word=python&tn=59189121_20_oem_dg
#2,参数的形式
import requests
url = 'https://www.baidu.com/s'
params={
'word' : 'python' #改变'python',输入你想搜索的东西,运行即可得到
}
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
}
response = requests.get(url,headers=headers)
print(response.content.decode())
#第二种,更直接
url ='https://www.baidu.com/s?word=python&tn=59189121_20_oem_dg'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
}
response = requests.get(url,headers=headers)
print(response.content.decode())
4,关于参数的注意点
#关于参数的注意点
'''https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=06136131_1_oem_dg&wd=%E8%BF%AA%E8%BF%A6&ct=1&oq=python&rsv_pq=cb528bac0001ccf7&rsv_t=8fc56X2fRQ1h16juzilcLYaXQpRBnOty%2FvNQBWG%2BVXpuIx5bhc%2FlOhA8KAKunKPt0w1PMNMG7go&rqlang=cn&rsv_enter=1&rsv_dl=tb&rsv_sug3=13&rsv_sug1=9&rsv_sug7=100&rsv_sug2=0&rsv_btype=t&inputT=5820&rsv_sug4=6549
'''
#有些参数并不是必传的,可以删除
5,百度爬取图片保存
# 需求:将图片保存到本地,将图片保存到指定文件夹中
#目标点:百度图片
"""
思路整理:
数据加载方式:异步加载
"""
improt requests,os #指定文件夹,使用os模块
#创建保存图片的文件夹
#os.getcwd():获取当前文件路径
os_path = os.getcwd()+'/图片/'
if not os.path.exists(os_path): #如果不存在,则创建一个文件路径
os.mkldir(os_path)
#草稿:
'''https://image.baidu.com/search/index?tn=baiduimage&ipn=r&ct=201326592&cl=2&lm=-1&st=-1&fm=result&fr=&sf=1&fmq=1656917899791_R&pv=&ic=&nc=1&z=&hd=&latest=©right=&se=1&showtab=0&fb=0&width=&height=&face=0&istype=2&dyTabStr=MCwzLDYsMSw0LDIsNSw3LDgsOQ%3D%3D&ie=utf-8&sid=&word=%E5%9B%BE%E7%89%87+%E5%A3%81%E7%BA%B8&f=3&oq=%E5%9B%BE%E7%89%87&rsp=0
'''
url = 'https://image.baidu.com/search/index'
for i in range(1,4):
params = {
'tn': 'resultjson_com',
'logid': '11722757170443659453',
'ipn': 'rj',
'ct': '201326592',
'is': '',
'fp': 'result',
'fr': '',
'word': '图片 壁纸',
'cg': 'wallpaper',
'queryWord': '图片 壁纸',
'cl': '2',
'lm': '-1',
'ie': 'utf-8',
'oe': 'utf-8',
'adpicid': '',
'st': '-1',
'z': '',
'ic': '',
'hd': '',
'latest': '',
'copyright': '',
's': '',
'se': '',
'tab': '',
'width':'' ,
'height': '',
'face': '0',
'istype': '2',
'qc': '',
'nc': f'{i}',
'expermode': '',
'nojc':'' ,
'isAsync': '',
'pn': f'30*i',
'rn': '30',
'gsm': '96',
'1656918581530':''
}
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
}
"""
json()方法
"""
#响应数据必须是json数据类型,才可以使用该方法
response = requests.get(url,headers=headers,params=params).json()
data_list = response['data']
for dict_data in data_list:
img_url = dict_data['键入配置']
img_name = dict_data['cs']
data = requests.get(img_url).content
with open(os_path + img_name+'.jpg','wb')as f:
f.write(data)
print("保存完成!!!")
#print(response)
#仅供学习参考