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

使用Python requests爬取Investopedia交易页出现非预期输出问题

你拿到的返回内容仍是登录页面,说明登录请求未通过站点的身份校验,按以下步骤修改即可:

  • 补全请求头,避免被站点反爬规则拦截
    创建session后统一设置通用请求头:
session.headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
    "Referer": "https://www.investopedia.com/"
}
  • 补全登录表单必填参数
    你当前的payload仅传入了账号密码,遗漏了登录表单要求的login参数,站点会校验该参数是否存在,修改payload如下:
payload = {
    "username": "你的实际注册邮箱",
    "password": "你的实际登录密码",
    "login": "Sign In"
}
  • 统一域名格式
    你当前代码里的URL缺少www前缀,站点的301跳转逻辑可能导致登录cookie失效,把所有涉及的URL补全www前缀即可:
    • login_url改为https://www.investopedia.com/simulator/portfolio/
    • trading_url改为https://www.investopedia.com/simulator/trade/tradestock.aspx
  • 增加登录状态校验
    登录请求发送后先确认登录结果,再访问交易页面:
# auth
login_resp = session.post(post_url, data=payload, allow_redirects=True)
# 可通过状态码、当前跳转后的URL判断是否登录成功
print(login_resp.status_code, login_resp.url)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 17:48:02