python爬虫--发送带参数的请求

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=&copyright=&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)


#仅供学习参考

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小李子不吃李子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值