爬虫requests深入使用

使用post请求:

用法:

response = requests.post(url, data = data, headers=headers)

data形式:字典

在这里插入图片描述

确定请求参数,查看Network:

在这里插入图片描述

显示移动端需要切换:

在这里插入图片描述

处理响应,需要导入json模块

在这里插入图片描述

代理使用:

## 正反代理区别:

在这里插入图片描述
## 用法:
requests.get(“http://www.baidu.com”, proxies = proxies)
## proxies形式:字典
在这里插入图片描述
## 代理ip分类:
a. 透明代理:可以直接‘隐藏’ip地址,但还是可以查到你是谁
b. 匿名代理:别人只能知道你用了代理,不知道你是谁
c. 高匿代理:别人根本无法发现你是在使用代理
在这里插入图片描述
## 使用代理ip的注意点:
反反爬:

使用代理ip是非常必要的一种反反爬的方式

但是即使使用了代理ip,对方服务器任然会有很多的方式来检测我们是否是一个爬虫,比如:

一段时间内,检测IP访问的频率,访问太多频繁会屏蔽

检查Cookie,User-Agent,Referer等header参数,若没有则屏蔽

服务方购买所有代理提供商,加入到反爬虫数据库里,若检测是代理则屏蔽

所以更好的方式在使用代理ip的时候使用随机的方式进行选择使用,不要每次都用一个代理ip

代理ip池的更新:

        购买的代理ip很多时候大部分(超过60%)可能都没办法使用,这个时候就需要通过程序去检测哪些可用,把不能用的删除掉。

爬虫中使用cookie

## 利弊:     
  1. 带上cookie的好处:

能够访问登录后的页面
能够实现部分反反爬
2. 带上cookie的坏处:

一套cookie往往对应的是一个用户的信息,请求太频繁有更大的可能性被对方识别为爬虫

requests处理cookie的方法:

cookie字符串放在headers中
把cookie字典放传给请求方法的cookies参数接收
使用requests提供的session模块

cookie添加在heades中:

## headers中的cookie:

使用分号(;)隔开
分号两边的类似a=b形式的表示一条cookie
a=b中,a表示键(name),b表示值(value)
在headers中仅仅使用了cookie的name和value#
## 使用方法:
requests.get(url,headers=headers,cookies=cookie_dict}

使用requests.session处理cookie

session的会话保持:

保存cookie,下一次请求会带上前一次的cookie
实现和服务端的长连接,加快请求速度
## 使用方法:
session = requests.session()
response = session.get(url,headers)
注:session实例在请求了一个网站后,对方服务器设置在本地的cookie会保存在session中,下一次再使用session请求对方服务器的时候,会带上前一次的cookie

requests中cookirJar的处理方法

## 方法介绍: 

response.cookies是CookieJar类型
使用requests.utils.dict_from_cookiejar,能够实现把cookiejar对象转化为字典
## requests处理证书错误(解决方法):
在这里插入图片描述
##超时参数使用:
response = requests.get(url,timeout=3)

retrying模块使用

## retrying模块的地址:https://pypi.org/project/retrying/
## retrying 模块的使用:

使用retrying模块提供的retry模块
通过装饰器的方式使用,让被装饰的函数反复执行
retry中可以传入参数stop_max_attempt_number,让函数报错后继续重新执行,达到最大执行次数的上限,如果每次都报错,整个函数报错,如果中间有一个成功,程序继续往后执行

(了解)urllib的基本方法介绍

# # 传入url地址:

在这里插入图片描述
## urllibr. request:
1. 构造简单请求
在这里插入图片描述
2. 传入headers参数
在这里插入图片描述
3. 传入data参数 实现发送post请求
在这里插入图片描述
## response.read()

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值