You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python爬虫:发送5-6次requests请求后页面无法加载如何解决

针对目标站点反爬限制的解决方案

这是典型的站点反爬策略触发了临时IP封禁,可通过以下方案优化:

  • 新增随机请求延迟
    无间隔连续请求非常容易被识别为爬虫,在两次请求之间添加3-10秒的随机延迟,模拟正常用户的浏览节奏:
import time
import random

# 每次发起请求前加延迟
time.sleep(random.randint(3, 10))
cz_link= requests.get(cz_page,timeout=10, verify=False,headers=headers)
  • 轮换User-Agent
    固定UA很容易被标记,你可以维护一个UA池,每次请求随机切换:
# UA池示例,可自行补充更多最新的浏览器UA
ua_pool = [
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36',
    'Mozilla/5.0 (Macintosh; Intel Mac OS X 13_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Safari/605.1.15',
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/119.0'
]
headers['User-Agent'] = random.choice(ua_pool)
  • 使用requests.Session保持会话
    用会话对象自动管理Cookie,模拟正常用户的浏览上下文,特征更接近真实浏览器:
# 初始化会话,全局只用一个即可
session = requests.Session()
session.headers.update(headers)
# 发起请求时用session.get代替requests.get
cz_link = session.get(cz_page, timeout=10, verify=False)
  • 接入代理IP池
    如果上述方案还是被封,可以使用短效代理IP,每发起几次请求就更换一次IP,避免本地IP被长期封禁,请求时添加proxies参数即可:
proxies = {
    'http': 'http://你的代理IP:端口',
    'https': 'http://你的代理IP:端口'
}
cz_link = session.get(cz_page, timeout=10, verify=False, proxies=proxies)

另外你当前使用verify=False会产生安全警告,可以在代码开头加一行requests.packages.urllib3.disable_warnings()关闭警告。如果已经触发了临时封禁,先停止请求15-30分钟,大部分站点的临时IP封禁会自动解除。

内容的提问来源于stack exchange,提问作者Király Csaba

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 13:36:03