Python爬虫: Requests库的基本使用

基本属性
requests.get是requests库的基本方法,请求的对象拥有status.code, text, cookies等基本属性,
也可以通过json的形式返回结果
对于想要下载的图片及视频,可以通过content的形式获取,并在本地通过with open write选择路径保存

Headers
requests也有headers的参数,来模拟浏览器headers的内容,对于一般有基础反爬机制的网站,需要加入header才能正常访问,并在header中加入cookies。一种获取cookies的方法是使用selenium方式获取,并加入header。而对于一些更复杂的网站,还需要在cookies中加入时间戳。
当需要模拟浏览器进行向网站传递信息的操作时,需要加入post参数

状态码
对response属性的反馈获取
对状态码的判断,对爬虫者而言,常见的反馈为200,403,404
其中100-200为没有差错的反馈
300开始为Redirection
400开始为Error的表示
500开始为server error
200为最理想的反馈;403为网站禁止请求;404为网站没被找到
一般的无反爬网站,爬虫时不加入休眠也会一直反馈200

文件上传
文件上传为post方法的一部分,使用file的参数
获取cookies
获取cookies为较为重要的方法,通过获取cookies,可以最仿真的模拟request headers,从而绕过最基本的反爬机制
但通过requests获取cookies需要维持当前的session,即会话
如通过如下方式请求当前页面两次,两次requests是独立的请求,相当于一次浏览器请求后再用新的浏览器请求,第一次的请求cookie无效化了。
故此时需要使用session的方式来完成模拟同一浏览器访问两次的操作,并且不需要处理cookies的问题。可用于模拟登录页面。


证书验证

对于需要证书验证的网页,将get方法里的verify参数调为False即可,或使用cert参数

设置代理
对于requests里的代理设置,使用proxies参数传入字典即可

超时设置
有时爬虫过程会出现网站相应很久的情况,影响心情。故使用超时设置也是很好的方法,若超时则停止并报异常,或使用try语句捕捉错误。

认证设置
有些网站需要登陆验证,这时使用get方法里的auth参数进行处理

异常处理
进入requests的官方文档,可以总结出requests库自己总结的异常及定义


参考资料:

崔庆才的个人博客: https://cuiqingcai.com/

Python requests库官方文档

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值