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

如何提取WordPress站点各页面的视频链接(适配动态post ID)

嘿,我来帮你搞定这个WordPress视频链接提取的问题!既然每个页面只有一个视频,而且post编号是随机的,那我们只需要把原来的选择器改成通用型的就行,不用依赖固定的post ID。下面给你几个靠谱的解决方案:

1. 用通用的XPath/CSS选择器定位视频iframe

WordPress绝大多数主题都会把文章内容放在一个带有固定类名的容器里(比如entry-content,这是官方默认主题的标准类),我们可以跳过随机的post ID,直接定位到内容区域里的iframe:

XPath写法

如果内容容器是entry-content:

//div[@class='entry-content']/p/iframe

要是页面里只有这一个iframe,甚至可以更简单:

//iframe

如果视频来自特定平台(比如YouTube),还可以通过src属性过滤:

//iframe[contains(@src, 'youtube.com')]

CSS选择器写法

对应上面的XPath,CSS选择器可以这么写:

.entry-content p iframe

或者直接取唯一的iframe:

iframe

同样,按平台过滤的话:

iframe[src*="youtube.com"]

👉 小技巧:你可以打开Chrome开发者工具的Elements面板,按Ctrl+F输入你写的选择器,就能实时验证是否能准确定位到视频iframe啦!

2. 直接提取iframe的src属性(代码示例)

因为每个页面只有一个视频,所以不管用什么爬虫工具,直接取页面里的第一个(也是唯一的)iframe的src属性就是视频链接。这里给你两个常用工具的示例:

Python + BeautifulSoup

from bs4 import BeautifulSoup
import requests

# 替换成你要爬的页面URL
target_url = "https://example.com/your-page"
response = requests.get(target_url)
soup = BeautifulSoup(response.text, "html.parser")

# 提取唯一的iframe的src
video_link = soup.find("iframe")["src"]
print("提取到的视频链接:", video_link)

Scrapy框架

def parse(self, response):
    # 提取第一个iframe的src属性
    video_url = response.xpath("//iframe/@src").get()
    yield {
        "page_url": response.url,
        "video_url": video_url
    }

3. 基于iframe的特殊属性定位

如果你的页面里有多个iframe,但视频iframe有专属的class、width等属性,比如class="video-player",那可以用这些特征精准定位:

  • XPath://iframe[@class='video-player']
  • CSS选择器:iframe.video-player

这样不管post ID怎么变,都能准确找到对应的视频iframe啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 09:08:46