如何用R语言rvest包通过data-anchor属性爬取SciELO期刊正文
修改后可批量适配的R代码
library(dplyr) library(rvest) # 替换为你的目标文章链接 article <- "目标文章链接" article_text <- article %>% rvest::read_html() %>% # 匹配规则:id为articleText的节点下,同时满足class为articleSection、data-anchor属性为Text的div节点 rvest::html_node(xpath = '//*[@id="articleText"]//div[@class="articleSection" and @data-anchor="Text"]') %>% rvest::html_text()
调整说明
- 原路径固定取
articleText下的第一个div,适配性差,替换为双属性匹配规则后,完全和页面稳定属性对齐,不受div排序、嵌套层级影响,可适配所有同结构的SciELO文章页面。 - 路径中使用
//代替层级限制,可匹配articleText下任意层级的目标div,兼容性更强。 - 若部分页面的目标div存在多个类名,可将xpath调整为类名包含匹配,避免匹配失败:
xpath = '//*[@id="articleText"]//div[contains(@class,"articleSection") and @data-anchor="Text"]'
内容的提问来源于stack exchange,提问作者fabiominatto
相关产品推荐
相关产品推荐

