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

Python与Selenium技术问询:如何从IMDB链接提取影片ID

如何从IMDB链接中提取影片ID(Selenium + Python)

嘿,作为Selenium和Python的新手,能成功定位到包含IMDB链接的元素已经迈出很棒的一步啦!我来帮你搞定提取影片ID的问题~

你已经能通过find_element获取到目标元素,接下来只需要两步:先拿到元素对应的IMDB链接,再从链接里提取出ttxxxxxxx格式的ID。下面给你两种实用的方法:

第一步:获取IMDB链接字符串

首先,确保你定位到的是包含IMDB链接的<a>标签(大部分情况都是这样),然后通过get_attribute('href')拿到完整的链接:

from selenium import webdriver
import re  # 如果用正则方法需要导入这个库

driver = webdriver.Chrome('chromedriver.exe')
driver.get('cinecalidad.to/espana/')

# 替换成你实际能用的CSS选择器,定位到带IMDB链接的a元素
pelicula_1 = driver.find_element_by_css_selector('body:nth-child(2) div:nth-child(1) div:nth-child(3)...')
# 获取完整的IMDB链接
imdb_link = pelicula_1.get_attribute('href')

第二步:提取影片ID

方法1:字符串分割(简单直接,适合固定格式的链接)

IMDB链接的格式是https://www.imdb.com/title/ttxxxxxxx/,我们可以通过两次分割拿到ID:

# 先按'/title/'分割,取后面的部分;再按'/'分割,取第一部分就是ID
imdb_id = imdb_link.split('/title/')[1].split('/')[0]
print(imdb_id)  # 输出:tt6423886

方法2:正则表达式(更灵活,适配链接格式小变化)

如果担心链接格式有细微差异(比如末尾有没有斜杠、有没有额外参数),用正则匹配tt开头+数字的模式更稳妥:

# 匹配以tt开头,后面跟1个或多个数字的内容
pattern = r'tt\d+'
match_result = re.search(pattern, imdb_link)
if match_result:
    imdb_id = match_result.group()
    print(imdb_id)  # 输出:tt6423886
else:
    print("没找到有效的IMDB ID")

小提醒:一定要确保你的CSS选择器能准确定位到带IMDB链接的<a>标签,不然get_attribute('href')会返回None或者报错哦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:32:59