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

如何用Python的Beautiful Soup提取含2或3个指定关键词的iframe src链接

解决多关键词匹配iframe src的问题

嘿,这个需求很常见,其实只要稍微调整一下判断逻辑,就能轻松实现同时匹配多个关键词的效果!

核心思路

你需要检查每个iframe的src是否同时包含所有指定的关键词(不管是2个还是3个),Python的all()函数刚好能帮我们高效完成这个判断——它会验证迭代器里的所有条件是否都为真。

实现代码

这里给你一个可扩展的版本,不管你要匹配2个还是N个关键词,只要修改关键词列表就行:

srcs = []
iframes = soup.find_all('iframe')
# 定义你需要匹配的所有关键词,可根据需求增减
required_keywords = ['xyz', 'true']  # 要是需要3个,就改成['xyz', 'true', '72p']

for iframe in iframes:
    try:
        src = iframe['src']
        # 检查所有关键词是否都存在于当前src中
        if all(keyword in src for keyword in required_keywords):
            srcs.append(src)
    except KeyError:
        # 跳过没有src属性的iframe
        continue

代码解释

  1. 关键词列表:required_keywords是你需要匹配的关键词集合,想加几个就加几个,非常灵活。
  2. all()函数的作用:all(keyword in src for keyword in required_keywords)会逐个检查每个关键词是否在src里,只有所有关键词都存在时,才会返回True,这时候我们才把这个src加入结果列表。
  3. 异常处理:和你原来的代码一样,跳过没有src属性的iframe,避免KeyError。

可选扩展:大小写不敏感匹配

如果需要忽略关键词的大小写(比如匹配XYZ或者True也能命中),可以把src和关键词都转成小写再判断:

if all(keyword.lower() in src.lower() for keyword in required_keywords):

这样不管链接里的关键词是大写还是小写,都能被正确匹配到。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:05:56