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

使用IMPORTXML时,如何基于后代节点条件筛选电影的时间与名称?

解决Google Sheets IMPORTXML筛选电影对应时间的XPath问题

正确的时间提取公式

直接使用以下公式即可只返回电影对应的播出时间:

=importxml(C1,"/html/body/ul/li/a[.//img[@class='movie']]/span[@class='time']")

逻辑说明

你的HTML结构中,电影的时间标签<span class="time">和标记电影的<img class="movie">同属一个<a class="program">父节点,所以这个XPath的核心逻辑是:

  1. 先定位到包含class="movie"图片的<a>标签:a[.//img[@class='movie']],这里的.限定了只查找当前<a>节点下的后代元素,避免误匹配页面其他位置的同class图片
  2. 再从这个目标<a>节点下直接取出对应的时间span标签:/span[@class='time']

你之前的XPath错误原因

你尝试的/html/body/ul/li/a/span[//descendant::input[//img[contains(@class, 'movie')]]]存在两个关键问题:

  • 你的HTML结构里根本没有<input>节点,属于无意义的路径匹配
  • //会全局查找元素,没有限定在当前<a>节点范围内,导致返回了所有节目的时间

额外补充:单XPath同时提取时间和名称

如果你想实现最初的需求——用一条XPath同时获取电影的时间和名称,可以用节点集合并的写法:

=importxml(C1,"/html/body/ul/li/a[.//img[@class='movie']]/(span[@class='time'] | div/h3/text()[normalize-space()])")

其中normalize-space()会自动去掉电影名称前后的空格,避免返回无效的空文本节点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 21:46:28