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

使用rvest爬取网页时遇HTTP error 403错误求助

解决思路
  • 自定义请求头绕过反爬拦截
    很多网站会识别并拦截R默认的爬虫请求头,模拟浏览器的请求头即可解决。修改代码如下:

    library(rvest)
    library(httr)
    
    url <- "https://www.state.gov/covid-19-recovery/vaccine-deliveries/"
    # 模拟主流浏览器的User-Agent
    request_headers <- add_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"
    )
    # 先发送带请求头的GET请求
    page_response <- GET(url, request_headers)
    # 再解析响应内容
    state <- read_html(page_response)
    
  • 排查本地网络限制

    • 关闭主笔记本上的代理、VPN工具,这类工具可能会修改网络请求路径导致403错误。
    • 检查系统防火墙设置,确认R程序被允许访问外部网络,必要时将R加入防火墙白名单。
  • 重置R会话与更新依赖包

    • 重启R/RStudio,清空当前环境后重新加载rvest和httr包再尝试。
    • 运行update.packages(c("rvest", "httr"))更新依赖包到最新版本,旧版本可能存在网络请求兼容问题。
  • 验证DNS解析状态
    在主笔记本的命令提示符(Windows)或终端(Mac/Linux)中运行ping www.state.gov,检查是否能正常解析到目标服务器IP。如果解析异常,尝试切换公共DNS(如8.8.8.8、1.1.1.1)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 02:25:42