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

R语言rvest爬取网页链接href返回空字符问题排查求助

问题原因
  • 页面结构更新:目标站点调整了该页面的DOM结构,你之前通过Selector Gadget获取的.first-child a选择器已经无法匹配到“Printer-Friendly Minutes”对应的链接节点,实际匹配到的是其他无有效href属性的空a标签,因此返回空字符。
  • 协议适配问题:你代码中使用的是HTTP协议的URL,当前目标站点已经全站强制跳转HTTPS,read_html抓取HTTP地址时会返回跳转中间页内容,无法拿到实际的页面节点。
解决方法

首先更换为HTTPS协议的目标URL,其次使用更稳定的匹配规则,直接通过链接文本定位目标节点,避免依赖易变的类名选择器。
修正后的代码如下:

library(rvest)
library(magrittr)
library(httr) # 可选,用于处理复杂请求

url <- "https://www.richmond.ca/cityhall/council/agendas/council/2021/012521_minutes.htm"
# 使用xpath匹配包含指定文本的a标签,适配性更强
printer_href <- url %>% 
  read_html() %>% 
  html_nodes(xpath = "//a[contains(text(), 'Printer-Friendly Minutes')]") %>% 
  html_attr("href")

如果获取到的是站点相对路径,可使用url_absolute()函数拼接为完整可访问链接:

printer_full_url <- url_absolute(printer_href, url)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 21:27:01