代理理论讲解及应用之爬虫

代理理论讲解及应用

一、代理理论讲解

​ 在做爬虫的过程中,经常会遇到这样的情况,例如:最初的爬虫程序会正常的运行,正常的抓取数据,但是可能过一段时间就会出现一些错误。你打开对应的网站一看,可能会看到“你的IP访问频率太高”等等提示。对应的这些情况出现的原因,就是门户网站所采取的某种反爬措施。

​ 例如:服务器会检测某个IP在单位时间内请求的次数,如果在单位时间之内,某个IP发起请求的次数超过了某个阈值,那么这个服务器端就会直接拒绝该次请求,会返回给客户端一些个错误信息。

​ 这种情况就可以称之为请求所对应的IP被服务器端“封掉了”(拉入黑名单)。

​ 服务器端检测的是某个IP单位时间内请求的次数,我们如果借助某种方式来伪装我们的IP,让服务器端识别不出来是由我们本机的IP所发起的请求,这样的话就可以防止“封IP”这样的服务器端的行为,这样的行为就是一种有效的反反爬策略。

1. 代理的核心目的

  • 破解封IP这种反爬机制。

2. 什么是代理?

  • 代理实际上指的就是代理服务器。功能:代理网络用户去获取相关的网络信息。
  • 代理服务器可以理解为是网络信息中的一个中转站。在我们正常请求一个服务器的网站时,我们发送请求给web服务器,web服务器会把响应数据回传给对应的客户端。
  • 如果我们设置了代理服务器,实际上就是在我们本机和服务器之间搭建了一个桥梁,此时本机不是直接向web服务器发起请求,而是向这个代理服务器发起请求,请求会发送给代理服务器,代理服务器会把我们的请求中转发送给服务器,接着代理服务器再把web服务器返回的响应对象再回传给我们客户端(本机)。这样我们也可以正常的去访问web服务器中的这些个网页。
  • 但是这个过程中,web服务器识别出的真实的IP就不是我们本机的IP了。因为我们并没有直接使用我们的本机IP将请求发送给服务器端,而是将请求发送给了代理服务器,代理服务器再将我们的请求转发给了web服务器端,这样的话我们就成功实现了IP的伪装。这也是代理的基本原理。

3. 代理的作用:

  • 突破自身IP访问的限制。
  • 隐藏自身真实的IP,避免被攻击。

4. 代理相关的网站:

5. 代理IP的类型:

  • http:应用到http协议对应的url中
  • https:应用到https协议对应的url中

6. 代理IP的匿名度

(1)透明:服务器知道该次请求使用了代理,也知道请求对应的真实IP
(2)匿名:知道使用了代理,不知道真实IP
(3)高匿:不知道使用了代理,更不知道真实的IP

二、代理在爬虫中的应用

1. 代理操作:

import requests
url = 'http://www.baidu.com/s?wd=IP'
headers = {
    'User-Agent': 'Moz...'
}
page_text = requests.get(url=url, headers=headers,proxies={"http://":'183.247.199.111'}).text

# 持久化存储 打开ip.html若发现此IP就是本机的IP地址,则说明无代理
with open('ip.html','w',encoding='utf-8') as fp:
    fp.write(page_text)
    print('存储结束')

2. 反爬机制:封IP

3.反反爬策略:使用代理进行请求发送

!!!:了解方法即可,免费的代理IP大部分用不了,具体项目用到可以进行付费购买代理IP。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

郑师傅炒板栗

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

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

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

打赏作者

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

抵扣说明:

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

余额充值