如何使用rvest包抓取网站div_class="col-sm-8"下的信息?常规方法无效
解决rvest爬取class为col-sm-8的内容失败问题
你的代码核心问题是CSS选择器写错了:col-sm-8是元素的class属性值,rvest里用html_nodes()调用类选择器时,必须在类名前加.,直接写类名会被当成HTML标签名(比如<col-sm-8>这种不存在的标签),自然找不到内容。
修正后的代码:
url <- "myurl" pagina <- read_html(url) titoli <- pagina %>% html_nodes(".col-sm-8") %>% # 类选择器前添加. html_text()
如果修正后还是拿不到内容,排查这几个点:
- 确认网页是静态HTML:如果目标内容是通过JavaScript动态加载的,
read_html()只能抓取初始静态页面,这时候需要用RSelenium、playwright之类的工具模拟浏览器渲染后再抓取 - 缩小选择器范围:可以明确指定标签类型,比如
html_nodes("div.col-sm-8"),避免误匹配其他标签的同class元素 - 用浏览器开发者工具(F12)核对:直接在目标网页里搜索
.col-sm-8,确认元素确实存在,且没有被嵌套在iframe里(iframe里的内容需要单独抓取)
内容的提问来源于stack exchange,提问作者Andrea Stringhetti
相关产品推荐
相关产品推荐

