前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Python爬虫自学系列(番外篇一):代理IP池

Python爬虫自学系列(番外篇一):代理IP池

原创
作者头像
看、未来
修改2021-02-01 18:14:11
修改2021-02-01 18:14:11
1.1K0
举报

前言

你在爬虫的时候,是否会经常的担心IP被封掉呢?

或者说,在使用免费IP的时候,并不知道那个IP是不是已经被封了。

对于大批量的爬取数据的时候,我在第五篇做并发爬虫的时候就发现了,第一篇提供的那个免费代理很多都已经被封掉了。

那怎么办呢?

这时候不得有一个自己的代理池嘛。

除了去买,相信大多数小伙伴还是愿意用自己的吧,毕竟又不是天天爬,爬个几次,又不能当饭吃,花这钱干什么?


揭开神秘面纱

其实这个代理池的建立啊,也不是什么稀奇玩意儿了。从User-Agent模块中不断抽取随机IP,然后拿去访问网址,如果可以用的话,就留下来,如果不能用的话,就算了。

通俗地比喻一下,它就是一个池子,里面装了很多代理ip。它有如下的行为特征:

代码语言:txt
复制
1.池子里的ip是有生命周期的,它们将被定期验证,其中失效的将被从池子里面剔除。
2.池子里的ip是有补充渠道的,会有新的代理ip不断被加入池子中。
3.池子中的代理ip是可以被随机取出的。

这里有一个==站大爷==,还行,但是只有免费体验,有兴趣的小伙伴可以去看看。

我自己也没用过,因为每类产品只能免费体验一次,省着点用吧,万一哪天就需要优质IP了呢。

我有headers了,为什么还要用代理?

代理,那个proxy啊。

1.服务器会判断一个频繁的请求是不是来自于同一个User-Agent标识,或者判断User-Agent是不是以python开头。如果是,则会限制访问。

解决方案:随机切换User-Agent的值

2.服务器会判断一个频繁的请求是不是来自于同一个IP地址发出的,如果是,则会对IP进行限制访问。

解决方案:使用代理IP,随机切换IP地址,不使用真实的IP来发起请求。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 揭开神秘面纱
    • 我有headers了,为什么还要用代理?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档