Skip to main content

Una herramienta para convertir bloques de HTML a JSON

Project description

My HTML to JSON Blocks Library

Descripción: Esta librería convierte contenido HTML en una estructura de bloques JSON, útil para sistemas que requieren transformar contenido web en formatos procesables. Es altamente personalizable, permitiendo a los usuarios definir su propio método de conversión para imágenes mediante el uso de un sistema de clases abstractas.

Características principales:

  • Convierte etiquetas HTML comunes como párrafos, encabezados, listas, y enlaces en bloques JSON estructurados.
  • Ofrece una clase abstracta para que los usuarios personalicen la transformación de imágenes (ImageTransformer).
  • Diseño modular que permite extender y adaptar la funcionalidad base.
  • Ideal para integrar en sistemas de gestión de contenido o aplicaciones que procesen contenido web.

Estructura de bloques JSON:

  • Encabezados: Convertidos a bloques con niveles de título (h1-h6).
  • Párrafos: Procesa contenido inline como texto, negritas, cursivas y enlaces.
  • Listas: Soporte tanto para listas ordenadas como desordenadas.
  • Imágenes: Proporciona un bloque de imagen con metadatos detallados, personalizable mediante el método abstracto ImageTransformer.

Cómo usar:

  1. Clona el repositorio:

    git clone https://github.com/yourusername/html-to-json-blocks.git
    cd html-to-json-blocks
    
  2. Instala las dependencias:

    pip install -r requirements.txt
    
  3. Instala la librería:

    pip install .
    
  4. Crea una instancia del convertidor:

    from html_to_json_blocks.core import HtmlToJsonConverter
    from html_to_json_blocks.transformers.image_transformer import ImageTransformer
    
    class CustomImageTransformer(ImageTransformer):
        def transform_image(self, img_node, images_info):
            # Tu lógica personalizada para transformar imágenes
            pass
    
    converter = HtmlToJsonConverter(image_transformer=CustomImageTransformer())
    
  5. Usa el convertidor para transformar HTML en bloques JSON:

    from bs4 import BeautifulSoup
    
    html_content = "<p>Ejemplo de contenido HTML</p>"
    soup = BeautifulSoup(html_content, 'html.parser')
    images_info = []  # Información de imágenes si es necesario
    json_blocks = converter.convert(soup, images_info)
    print(json_blocks)
    

Pruebas: Las pruebas unitarias están incluidas en el directorio tests. Para ejecutarlas, utiliza:

pytest

Contribuciones: Las contribuciones son bienvenidas. Por favor, abre un issue o envía un pull request si deseas mejorar la funcionalidad o corregir errores.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

html_to_json_blocks-0.1.0.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

html_to_json_blocks-0.1.0-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

Details for the file html_to_json_blocks-0.1.0.tar.gz.

File metadata

  • Download URL: html_to_json_blocks-0.1.0.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for html_to_json_blocks-0.1.0.tar.gz
Algorithm Hash digest
SHA256 209dedc1c0623d1e20f6205a7e66e4f11977eac91db325ec43126ee127b7856d
MD5 58cbb36fc4c48e6f98dfcbef3e596601
BLAKE2b-256 18887c351bae7961107d9f7a72e5ff89455e9b3976c71ea7eae9105c84cb24f4

See more details on using hashes here.

File details

Details for the file html_to_json_blocks-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for html_to_json_blocks-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 77fa17b06eb62c42e83d25741f9f3c31809e2be32f949aaaffc2df0ab88ed816
MD5 a996672e45b557cfba58f17271265563
BLAKE2b-256 9dd91278e97029cba3419ee8f0b89f394925129c88b5e0cfe985ff931fe23c78

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page