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

使用rvest爬取网页<li>元素时的批量独立获取问题

解决rvest批量获取
    下所有
  1. 独立文本的方法

你可以直接定位到目标<ol>下的所有<li>元素,再分别提取每个<li>的文本,就能批量得到独立内容,无需逐个指定索引。

方法1:调整XPath直接选中所有
  • 将你的XPath路径末尾加上/li,直接选中目标<ol>下的所有列表项:

    html_nodes(page, xpath='//*[@id="main-content"]/div[3]/div/div[3]/div/div/div/ol/li') %>% html_text()
    

    执行后会返回一个字符向量,每个元素对应一个<li>的文本内容。

    方法2:使用CSS选择器(更简洁)

    CSS选择器语法相对直观,同样可以直接选中目标<ol>下的所有<li>:

    html_nodes(page, css='#main-content > div:nth-child(3) > div > div:nth-child(3) > div > div > div > ol > li') %>% html_text()
    

    如果目标<ol>有专属的class或id,还能进一步简化选择器(比如假设该ol的class是program-curriculum,可写成css='.program-curriculum li'),让代码更健壮,避免页面结构微调导致路径失效。

    原理说明

    之前直接抓取<ol>再调用html_text(),会把<ol>下所有子节点的文本合并成一个字符串;而先选中每个<li>再调用html_text(),会分别提取每个<li>内部的文本,自然得到独立的条目。

    内容的提问来源于stack exchange,提问作者léo

    相关产品推荐
    方舟 Agent Plan

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

    最近更新时间:2026.07.21 23:58:11