如何使用Python+Selenium提取div标签data-type属性中的mp4值?
Python Selenium提取div标签data-type属性中mp4字符串的实现方法
操作核心:Selenium内置的get_attribute()方法可以直接获取元素的自定义属性,你只要先定位到目标div元素,再提取对应属性值后筛选mp4内容即可。
前置依赖安装
执行以下命令安装需要的库:pip install selenium webdriver-manager
实现代码示例
from selenium import webdriver from selenium.webdriver.common.by import By from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.chrome.service import Service import re # 初始化Chrome浏览器驱动 driver = webdriver.Chrome(service=Service(ChromeDriverManager().install())) # 替换为你要爬取的页面地址 driver.get("https://你的目标页面地址") # 定位目标div,可根据实际页面结构调整定位规则 # 示例为定位所有包含data-type属性的div,也可加class、id等条件缩小范围 target_div = driver.find_element(By.XPATH, '//div[@data-type]') # 获取data-type属性的完整值 data_type_content = target_div.get_attribute("data-type") # 提取mp4相关内容,以下是两种常用场景的处理: # 场景1:data-type中直接存储mp4后缀的视频链接,用正则匹配 mp4_regex = re.compile(r"http[s]?://[^\s]+\.mp4") extracted_mp4 = mp4_regex.findall(data_type_content) # 场景2:data-type值本身就是mp4标识,直接取即可 # extracted_mp4 = data_type_content if "mp4" in data_type_content else None # 输出结果 print("提取到的mp4内容:", extracted_mp4) # 关闭驱动 driver.quit()
注意事项
- 如果页面中有多个符合条件的div,把
find_element替换为find_elements,遍历列表逐个提取属性即可 - 如果页面是动态渲染的,元素加载需要时间,可以加隐式等待或者显式等待避免找不到元素报错,隐式等待示例:
driver.implicitly_wait(10),放在初始化驱动之后即可
内容的提问来源于stack exchange,提问作者Mr. Madagascar
相关产品推荐
相关产品推荐

