pythonrequests查询_requests的基本用法

本文详细介绍了Python的requests库,包括其为何被广泛使用、简单的GET请求、响应对象的属性、处理中文乱码的方法、图片下载以及如何发送带有Header和查询字符串的请求。通过实例展示了如何设置请求头以模拟浏览器行为,以及如何处理请求参数。同时,文章还强调了在处理响应内容时解码的重要性,并提供了完整代码示例。
摘要由CSDN通过智能技术生成

1.作用:发送请求获取响应

为什么使用requesst?

1)requests底层实现的是urllib

2)requests在python2和python3中通用,方法完全一样

3)requests简单易用(python特性)

4)requests能够帮助我们解压响应内容(自动解压完善请求头,自动获取cookie)

2. 发送简单的get请求、获取响应

response = requests.get(url)

ec9451d960db?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

3. response响应对象常用的属性

一般来说名词,往往都是对象的属性,对应的动词是对象的方法

response.url

response.status_code 响应状态码

response.text 响应体 str类型

response.content 响应体 bytes类型

response.headers 响应对应的请求头

response.request.headers 响应头

response.cookies 响应的cookie (经过了set-cookie动作)

response.request._cookies 响应对应请求的cookie

ec9451d960db?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

4. 解决响应内容中文乱码

response.text 是requests模块基于chardet模块对响应内容的编码格式做推测,进行转换并返回str类型

response.content.decode(‘utf8’)

decode的参数要去尝试 ascii gbk gb2312 iso-8859-1

5.获取图片保存到本地

找到图片的url

发送请求获取响应

保存图片:

图片url对应的响应内容就是图片本身!

图片保存的格式

打开文件的方式 流媒体必须以二进制方式写入!

ec9451d960db?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

6.发送带header的请求

1)为什么请求需要带上header:模拟浏览器,欺骗服务器,获取和浏览器一致的内容

2)header的形式:字典

headers = {“User-Agent”: “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36”}

3)模仿浏览器发送请求就需要带上请求头(浏览器在发送请求过程中会携带的请求头)

4)用法:resp = requests.get(url, headers={})

5)完整代码:

ec9451d960db?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

7.发送带查询字符串(带参数)的请求

1)什么是请求参数:我们在使用百度搜索的时候经常发现URL地址中会有一个?,那么该问号后边就是请求参数,又叫做查询字符串

url = ‘https://www.baidu.com/s?wd=python’

其中查询字符串是 “wd=python”

2)请求参数的形式:字典

a. url中直接携带查询字符串发送请求

resp = requests.get(url, headers=headers)

b.利用发送请求的方法中params参数接收查询字符串构造的字典

params = {‘wd’: ‘python’}

resp = requests.get(url, headers=headers, params=params)

ec9451d960db?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

3)关于参数的注意点

在url地址中, 很多参数是没有用的,比如百度搜索的url地址,其中参数只有一个字段有用,其他的都可以删除 如何确定那些请求参数有用或者没用:挨个尝试! 对应的,在后续的爬虫中,越到很多参数的url地址,都可以尝试删除参数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值