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

如何避免抓取CME网页时出现程序冻结问题?

解决requests.get访问CME网站冻结的问题
  • 添加请求头模拟浏览器:CME这类金融网站会检测请求来源,直接调用requests.get不带请求头容易被拦截,导致请求挂起。
    示例代码:

    import requests
    from bs4 import BeautifulSoup
    
    URL = 'https://www.cmegroup.com/markets/interest-rates/us-treasury/2-year-us-treasury-note.settlements.html'
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
    }
    page = requests.get(URL, headers=headers, timeout=10)
    
  • 强制设置超时时间:requests默认无超时限制,若网站无响应会一直等待,添加timeout参数可避免无限挂起,同时快速排查是网络问题还是反爬拦截。

  • 关闭自动重定向排查状态:部分网站会将请求重定向到验证页面,自动重定向后可能因验证流程卡住。可关闭自动重定向查看状态码:

    page = requests.get(URL, headers=headers, allow_redirects=False, timeout=10)
    print(page.status_code)
    

    若返回3xx状态码,需手动跟进重定向地址,或检查是否需要完成验证步骤。

  • 用Session维持会话:部分网站需要持续的会话状态,使用requests.Session()可保存cookies和请求上下文,避免每次请求都被重新验证:

    session = requests.Session()
    session.headers.update(headers)
    page = session.get(URL, timeout=10)
    

内容的提问来源于stack exchange,提问作者chitown2015

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 09:31:13