Python(爬虫) — requests模块的基础用法

目录

前言

准备

         1、安装requests库

         2、基础的请求方法

         3、requests请求返回对象的相关属性

应用

1、requests.get()

 一个简单的请求 ​

params参数的使用​

 二进制数据的抓取​

添加请求头 ​

2、requests.post()

data参数携带表单数据​

json参数携带json格式数据​


前言

让 HTTP 服务人类;

requests库简洁优美,相较urllib库更为强大,满足当今web的需求。


准备

1、安装requests库

在命令行中使用pip安装

pip install requests

2、基础的请求方法

get(urlparams,**kwargs)post(urldata, json, **kwargs)
参数说明

url请求地址

params用来拼接查询参数

**kwargs为关键字参数;

可为headers,proxies等参数

url请求地址

data可为字典,列表,元组,字节等

json 只能为json格式的数据

**kwargs为关键字参数;可以为headers,proxies等参数

作用发送 GET 请求到指定 url,向服务器请求数据发送 POST 请求到指定 url,向服务器发送数据,一般是表单数据

3、requests请求返回对象的相关属性

使用requests请求返回键的对象为Response,Response对象包含下列常用属性:

content返回响应的内容,以字节为单位
cookies返回一个CookieJar对象,其中包含从服务器发回的cookie
encoding返回用于解码的编码
headers返回响应头的字典
json()返回JSON对象结果(如果结果以JSON格式写入,如果不是则引发错误)
request返回请求此响应的请求对象
status_code返回一个表示状态的数字(200表示正常,404未找到)
text以unicode形式返回响应的内容
url返回响应的URL

应用

1、requests.get()

 一个简单的请求 b93d46f3b0b74bc78b920cbf03d8f7af.png

代码:

url='https://www.httpbin.org/get'
response=requests.get(url=url)
print(response.encoding,response.text)

结果:

3d04ecd739224bc7ac641be001e5a0c4.png


params参数的使用b93d46f3b0b74bc78b920cbf03d8f7af.png

params参数可以用来拼接查询参数,params要附加到每个请求的查询字符串的字典,字典值是表示多值查询参数

形如:https://www.httpbin.org/get?name=lisa&age=12

代码

url='https://www.httpbin.org/get'
response=requests.get(url=url,params={'name':'Lisa','age':20})
print(response.text)

结果

9180c5720e0248ce95f1c05248e86f70.png


 二进制数据的抓取b93d46f3b0b74bc78b920cbf03d8f7af.png

抓取二进制数据,适用于抓取图片,音频,视频

测试网站:https://login2.scrape.center/,抓取网站图标

代码

url='https://scrape.center/favicon.ico'
response=requests.get(url=url)
print(response.content)
with open('./favicon.ico','wb') as f:#wb以2进制写入数据
    f.write(response.content)

打开favicon.ico,效果如下:

2ce993ca5811424bbb39d5578b2ca6ef.png


添加请求头 b93d46f3b0b74bc78b920cbf03d8f7af.png

使用headers 参数进行设置

代码

url='https://www.httpbin.org/get'
headers={'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.49'}
response=requests.get(url=url,headers=headers)
print(response.text)

结果

4ec572c6140243199ec9928656b623f8.png

2、requests.post()

data参数携带表单数据b93d46f3b0b74bc78b920cbf03d8f7af.png

headers={'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.50',}#使用fake_useragent模块随机生成请求头

data={'name':'Lisa','age':20}
resposnse_post=requests.post('https://www.httpbin.org/post',data=data,headers=headers)
print(resposnse_post.text)


81f6f6eb59034947b203e6e4b54064fa.png

json参数携带json格式数据b93d46f3b0b74bc78b920cbf03d8f7af.png

headers={'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.50',}#使用fake_useragent模块随机生成请求头

json={'name':'Lisa','age':20}
resposnse_post=requests.post('https://www.httpbin.org/post',json=json,headers=headers)
print(resposnse_post.text)

d45748668152440b865145d4a8fe6203.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

杜小白也想的美

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

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

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

打赏作者

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

抵扣说明:

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

余额充值