一、IP被封的三大根源(附解决方案)

1. 固定IP触发网站反爬机制(提示:HTTP 403错误)

症状:爬取几分钟后突然无法获取数据,更换IP立即恢复

根源:商业网站会记录IP访问频率,住宅IP虽比机房IP安全,但长时间不更换仍会被标记

  1. 获取PPPoE拨号账号:联系宽带运营商客服(移动10086/电信10000)要求开通"动态拨号"功能
  2. 配置路由器自动拨号: 登录路由器后台(通常192.168.1.1)> 网络设置 > WAN口设置 > 选择PPPoE拨号 > 填入账号密码 > 保存
  3. 设置定时重启: 在"系统工具" > 重启计划中,设置每天3:00自动重启(避开爬虫高峰时段)
实测:中国移动宽带每次重启可更换IP,电信/联通需等待5分钟再拨号。建议使用LIKE.TG住宅代理IP作为备用方案。

2. 多账号操作IP关联被封(常见于TikTok/Instagram)

症状:新注册的账号几分钟内就被限制功能

根源:浏览器指纹+IP双重检测,单纯更换IP不够

  1. 硬件级隔离: 使用虚拟机或指纹浏览器(推荐LinkenSphere或Multilogin)
  2. IP自动化切换: 编写Python脚本调用路由器API(示例代码见下文)
  3. 行为模拟: 在爬虫中随机加入time.sleep(random.uniform(1,5))和鼠标移动事件

3. 爬取频率过高导致临时封禁

症状:间隔30秒请求仍被屏蔽,但手动访问网站正常

根源:网站基于QPS(每秒查询数)和日总量双重限制

  1. 分布式爬虫架构: 使用Scrapy-Redis搭建分布式队列,每台机器分配不同IP段
  2. 智能速率控制: 安装scrapy-auto-throttle扩展自动调整间隔
  3. 失败重试机制: 在settings.py中配置RETRY_TIMES=3和RETRY_HTTP_CODES=[500,502,503,504,400,403,408]