使用R语言rvest包如何筛选target为_self的a标签并提取href属性?
问题原因
- 你使用的CSS选择器语法错误,
tag[attribute=_self]是通用占位语法,需要替换为实际的属性名和对应筛选值,你要筛选a标签的target属性等于_self,正确的选择器写法是a[target="_self"] - 重复调用
html_elements是多余操作,你已经先筛选了所有a标签,第二次调用时会在每个a标签的子元素里查找符合条件的标签,自然找不到匹配元素,最终返回空结果。
修正后代码
library(rvest) library(lubridate) kurier_wbpg <- read_html("https://kurier.at") # 直接筛选target属性为_self的a标签 articleLinks <- kurier_wbpg %>% html_elements(css = "a[target='_self']") %>% html_attr("href") %>% paste0("https://kurier.at", .)
补充说明
如果要避免拼接时出现重复域名(部分a标签的href可能已经是完整的https开头链接),可以替换拼接逻辑为
xml2::url_absolute("https://kurier.at"),会自动处理相对路径和绝对路径的转换。
内容的提问来源于stack exchange,提问作者manoj rasika
相关产品推荐
相关产品推荐

