爬虫——requests库的使用

爬虫——requests库的使用

requests的请求方法

方法说明
request()构造一个请求对象
get()获取静态网页的常用方法
head()获取网页的头信息的方法,
post()获取动态网页
put()获取网页提交put请求方法
patch()获取网页提交局部修改请求
delete()获取网页提交删除请求

request方法的使用

格式:requests.request(method,url,**kwarfs)

  1. method:请求方法
  2. url:网址
  3. **kwarfs:可选参数

**kwarfs

  • params:字典或字节序列,requests模块发送请求时,有两种携带参数的方法:1、params 2、data
    其中,params在get请求中使用,

    如果我们想请求这个网址:https://fanqienovel.com/library/audience1/page_1?sort=hottes
    params={"sort":"hottes"}
    url="https://fanqienovel.com/library/audience1/page_1"
    
  • data:字典,字节序列或文件对象,作为requests的内容,data在post请求中使用

  • json:json格式数据

  • headers:字典,如果ua不合法,可能会获取不到响应。所以加请求头的目的就是模拟浏览器,欺骗服务器,获取和浏览器一致的内容。

  • files:字典类型,传输文件

  • timeout:设置超时时间,单位为秒

  • proxies:字典类型,用于增加代理,隐藏真实ip,防止服务器封禁本机ip

  • cookies:字典或cookiejar,request中的cookie

  • auth:元组,支持HTTP认证功能

  • allow_redirects:True/False,默认为True,重定向开关

  • stream:True/False,默认为True,获取内容立即下载开关

  • verify:True/False,默认为True,认证SSL证书开关

  • cert:本地SSL证书路径

get请求

json(**kwarfs)

用于解析响应内容为JSON格式的方法。

参数:encoding,cls,object_hook,parse_float,parse_int,parse_constant

如果响应内容不包含json格式内容将引发ValueError错误

close()

关闭与响应相关的资源,requests库会自动调用close方法,也可以手动调用

content属性

返回解码后的二进制内容,用于爬取图片,音频,视频

raw属性

返回未解码的二进制内容

text

返回字符串类型的内容

apparent_encoding

返回Response对象内容的字符编码。不能保证一定准确

encoding

用于指定和获取响应内容的字符编码方式。

status_code

返回网页的状态码,2xx为成功访问

url

用于获取实际获取响应的URL。这个属性是一个字符串,表示最终响应所在的URL,可能会有重定向导致实际的URL与最初请求的URL不同。

headers

用于访问HTTP响应的头部信息。返回的headers是一个字典对象。

head方法

获取网络资源的概要信息

使用headers属性获取头部信息

post方法

与get请求相同的参数就不在此一一解释

参数:

  • data:data 参数用来传递 post 请求需要提交的数据,这个参数可以是字典、元组列表、bytes 或文件类字典等类型数据。当我们在 post 请求中提交的数据量非常大时,可以使用字典或元组列表来传递。

  • json

    如果我们需要向服务器提交 json 类型的数据,那么就需要使用 json 参数

  • auth

    如果访问的 url 需要用户名和密码等验证信息,那么我们可以使用 auth 参数来传递这些信息

常用场景:

  • 数据提交
  • 数据更新
  • 文件上传
  • web API请求

put方法

对于put 请求,通常是上传文件操作。 我们需要知道上传文件的地址:url 和 上传的文件 data

格式:requests.put(url=url,data=file)

patch方法

与put的区别:采用patch,仅向url提交了你需要修改的内容进行局部更新。采用put,需要向url提交所有的内容,不管是需要修改的还是不用改的,都需要提交,未提交的会被删除

delete方法

使用与get方法类似

格式:requests.delete(url=url,**kwarfs)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值