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

新手求助:基于图像的网站文本爬取(Python、Selenium相关)

解决方案:爬取含动态内容与嵌入文本图像的产品页面文本

工具选择:Selenium完全适配你的需求

  • Selenium能模拟真实浏览器加载页面,完美处理动态内容(轮播图、异步加载描述等),这是静态爬虫或GPT工具无法做到的,完全匹配你批量爬取的场景。

操作步骤拆解

1. 精准区分菜单与内容主体

打开Chrome开发者工具(F12),用元素选择器(鼠标箭头图标)点击核心描述区域,逐层分析HTML结构:

  • 找到包裹产品描述的最外层容器(比如示例站的描述多在带特定class的div里),直接用这个容器的选择器定位内容,避开nav标签或带menu类的菜单元素。
  • 不要只看顶层大区块,深入到内容的直接父容器,能有效过滤无关元素。

2. 处理轮播图动态文本

轮播图内容需切换后才加载,用Selenium模拟交互即可:

  • 定位轮播切换按钮(比如带next类的按钮),调用click()方法切换。
  • 用WebDriverWait等待轮播内容元素加载完成后再提取,避免抓取空值。

3. 提取图像相关文本

  • 如果是图像的Alt文本:直接提取img标签的alt属性值,用element.get_attribute('alt')即可。
  • 如果是图像上的叠加文本:这类文本本质是HTML元素(span/p等),直接定位对应元素提取文本即可。

4. 批量爬取优化

  • 将所有产品URL存入列表,循环遍历执行「加载页面→定位内容→提取文本→保存」流程。
  • 提取的文本可保存为TXT或CSV文件,方便后续整理。

基础示例代码(Python)

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 初始化浏览器
driver = webdriver.Chrome()
wait = WebDriverWait(driver, 10)

# 示例产品URL
url = "https://www.fiio.com/fh9"
driver.get(url)

# 定位核心描述容器(需根据实际页面调整选择器)
content_box = wait.until(EC.presence_of_element_located((By.CLASS_NAME, "product-detail-content")))
main_content = content_box.text

# 处理轮播图(示例:点击下一页)
try:
    next_btn = wait.until(EC.element_to_be_clickable((By.CLASS_NAME, "carousel-next")))
    next_btn.click()
    # 等待轮播内容加载
    carousel_content = wait.until(EC.presence_of_element_located((By.CLASS_NAME, "carousel-text"))).text
    main_content += "\n" + carousel_content
except:
    # 无轮播或点击失败时跳过
    pass

# 提取图像Alt文本
imgs = driver.find_elements(By.TAG_NAME, "img")
for img in imgs:
    alt_text = img.get_attribute("alt")
    if alt_text:
        main_content += "\n" + alt_text

# 保存文本到文件
with open("fh9_product_desc.txt", "w", encoding="utf-8") as f:
    f.write(main_content)

# 关闭浏览器
driver.quit()

关键注意事项

  • 选择器需根据每个目标页面的HTML结构调整,开发者工具是核心辅助工具。
  • 必须加入等待逻辑,避免页面未加载完成就提取内容导致遗漏。
  • 批量爬取时可设置固定间隔(比如time.sleep(2)),避免对服务器造成过大压力。

内容的提问来源于stack exchange,提问作者Michał Sommerfeld

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 00:38:27