You need to enable JavaScript to run this app. 如何使用Python从HTML中获取数据并提取图片对应的文本内容
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python从HTML中获取数据并提取图片对应的文本内容

实现思路分为两部分,可按需组合使用

一、图片文本提取(OCR)

  • 普通需求直接用pytesseract:依赖Tesseract OCR引擎,提前安装好引擎本体后,安装pytesseract和Pillow库即可调用,识别前可对图片做二值化、去噪、裁剪等预处理提升准确率。
    示例代码:
    from PIL import Image
    import pytesseract
    # 可选:指定Tesseract安装路径(Windows环境需要)
    # pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
    text = pytesseract.image_to_string(Image.open('你的图片路径.png'), lang='chi_sim+eng')
    print(text)
    
  • 中文识别准确率要求高选PaddleOCR:对中文支持更好,无需单独安装OCR引擎,pip安装后即可直接调用,自带预处理逻辑,识别精度更高。
    示例代码:
    from paddleocr import PaddleOCR
    ocr = PaddleOCR(use_angle_cls=True, lang='ch')
    result = ocr.ocr('你的图片路径.png', cls=True)
    # 提取所有识别到的文本
    text = '\n'.join([line[1][0] for page in result for line in page])
    print(text)
    

二、HTML页面数据提取

  • 静态页面(内容直接写在HTML源码里):用requests库请求页面源码,搭配BeautifulSoup或者lxml库解析,按照元素的标签、类名、id等属性定位目标内容提取即可。如果是表格内容,直接用pandas.read_html()可以一键转成DataFrame格式。
    示例代码:
    import requests
    from bs4 import BeautifulSoup
    resp = requests.get('你的目标页面URL')
    soup = BeautifulSoup(resp.text, 'lxml')
    # 示例:提取所有p标签的文本
    content = [p.get_text(strip=True) for p in soup.find_all('p')]
    
  • 动态渲染页面(内容由JS加载,源码里看不到):用Selenium或者Playwright模拟浏览器运行,等页面内容完全加载后,直接调用工具自带的元素定位方法提取内容,或者拿到渲染后的完整源码再用上面的方法解析。

组合流程(先提取HTML里的图片再识别文本)

你如果需要先从HTML里抓图片再识别,就把上面两个流程串起来:先请求HTML解析出所有img标签的资源地址,下载图片到本地/读入内存,再调用OCR接口提取文本即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 01:00:04