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

使用rvest在R中爬取网页遇阻:read_html函数长时间无响应

解决rvest爬取narendramodi.in时read_html卡住的问题
  • 立即终止进程,不要继续等待:read_html运行数小时属于异常情况,这类官方站点大概率对无标识的请求做了限流或挂起处理,继续等待没有意义。
  • 添加浏览器请求头模拟正常访问:默认rvest的请求会暴露R客户端身份,站点可能识别后限制访问。结合httr包构造带浏览器UA的请求,示例代码:
    library(rvest)
    library(httr)
    
    url <- "https://www.narendramodi.in/category/text-speeches"
    # 模拟主流浏览器的请求头
    response <- GET(url, 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"))
    html_content <- read_html(response)
    
  • 设置请求超时避免无限等待:给请求添加超时限制,比如15秒内无响应就终止,避免进程长时间挂起:
    response <- GET(url, user_agent("你的浏览器UA"), timeout(15))
    
  • 分步验证请求状态:发送请求后先检查响应状态码(response$status_code),200表示请求正常;若返回4xx/5xx,说明站点拒绝了请求,需要进一步调整请求头或检查网络环境。
  • 确认站点实际可访问性:用浏览器直接打开目标URL,查看是否能快速加载。如果浏览器访问也缓慢,可能是地区网络限制,尝试更换网络环境(如手机热点)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 03:27:07