如何用Python Selenium提取srcset属性中的第一个图片链接
提取srcset属性中的第一个图片链接
当然可以通过字符串裁剪来实现,这是最直接的处理方式。srcset属性的内容是用逗号+空格分隔的多组图片资源,每组格式为「图片链接 宽度标识」,按照以下步骤就能提取出第一个有效链接:
- 用
split(',')把整个字符串按逗号分割成列表,取第一个元素 - 对这个元素用
split()按空格分割,取第一部分就是纯图片链接 - 最后用
strip()去除首尾可能存在的空格
修改后的代码如下:
from selenium import webdriver from selenium.webdriver.chrome.options import Options from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.common.by import By from selenium.webdriver import ActionChains import pyautogui import time chrome_options = Options() chrome_options.add_argument("--headless") driver = webdriver.Chrome(ChromeDriverManager().install(), options = chrome_options) driver.get('https://www.politicsanddesign.com/') # 提取srcset内容并处理 srcset_content = driver.find_element(By.XPATH, "//div[@class = 'responsive-image-wrapper']/img").get_attribute("srcset") # 提取第一个图片链接 first_img_url = srcset_content.split(',')[0].split()[0].strip() driver.get(first_img_url)
处理后first_img_url就是你需要的目标链接。另外注意,这个链接是相对协议格式(以//开头),如果后续下载需要完整URL,可以手动补充前缀:first_img_url = 'https:' + first_img_url。
内容的提问来源于stack exchange,提问作者Damon C. Roberts
相关产品推荐
相关产品推荐

