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

构建新闻爬虫无法访问WSJ网站:已订阅仍遭403禁止访问求助

解决WSJ爬虫登录后403禁止访问的问题

以下是几个针对性的解决途径,帮你突破登录成功但主页被拦截的困境:

  • 补充完整请求头,模拟真实浏览器
    WSJ的反爬机制会校验请求头真实性,默认requests库的请求头特征明显,容易被识别。你需要添加常见的浏览器请求头字段,示例如下:
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36',
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
    'Accept-Language': 'en-US,en;q=0.5',
    'Referer': 'https://id.wsj.com/auth/login'
}

将这个headers参数加入所有get和post请求中:

login_page = session.get(login_url, headers=headers)
login_response = session.post(login_url, data=payload, headers=headers)
response = session.get(news_url, headers=headers)
  • 校验登录会话的完整性
    登录返回ok不代表会话已完全通过认证,你可以在登录后打印session.cookies,检查是否包含WSJ所需的认证Cookie(例如带有wsj标识的会话Cookie)。同时,登录表单可能存在你未添加的隐藏字段(比如redirectUri、rememberMe),需要从登录页面的HTML中提取所有表单参数,确保payload的完整性。

  • 改用浏览器自动化工具处理JS渲染
    WSJ主页可能依赖JavaScript渲染内容,requests只能获取静态HTML,即使登录成功也可能触发反爬拦截。可以使用selenium或playwright模拟真实浏览器操作,它们会自动处理JS渲染和会话保持,示例代码(selenium):

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from bs4 import BeautifulSoup

driver = webdriver.Chrome()
driver.get("https://id.wsj.com/auth/login")

# 填写登录信息
driver.find_element(By.ID, "username").send_keys("你的用户名")
driver.find_element(By.ID, "password").send_keys("你的密码")
driver.find_element(By.ID, "submitButton").click()

# 等待跳转至主页
WebDriverWait(driver, 10).until(EC.url_contains("wsj.com"))

# 解析页面内容
soup = BeautifulSoup(driver.page_source, 'html.parser')
headlines = soup.find_all('h3')
for headline in headlines:
    print(headline.text.strip())

driver.quit()
  • 排查IP封禁问题
    如果频繁发起请求,你的IP可能被WSJ临时封禁。可以尝试切换代理IP,或者降低请求频率,模拟人类的访问节奏(比如每次请求间隔几秒)。

  • 确认订阅账号状态
    先手动用浏览器登录WSJ官网,确认能正常查看付费内容,排除订阅权限过期、区域限制或账号异常等问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 20:22:46