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:
-
Clona el repositorio:
git clone https://github.com/yourusername/html-to-json-blocks.git cd html-to-json-blocks
-
Instala las dependencias:
pip install -r requirements.txt
-
Instala la librería:
pip install .
-
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())
-
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
209dedc1c0623d1e20f6205a7e66e4f11977eac91db325ec43126ee127b7856d
|
|
| MD5 |
58cbb36fc4c48e6f98dfcbef3e596601
|
|
| BLAKE2b-256 |
18887c351bae7961107d9f7a72e5ff89455e9b3976c71ea7eae9105c84cb24f4
|
File details
Details for the file html_to_json_blocks-0.1.0-py3-none-any.whl.
File metadata
- Download URL: html_to_json_blocks-0.1.0-py3-none-any.whl
- Upload date:
- Size: 18.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77fa17b06eb62c42e83d25741f9f3c31809e2be32f949aaaffc2df0ab88ed816
|
|
| MD5 |
a996672e45b557cfba58f17271265563
|
|
| BLAKE2b-256 |
9dd91278e97029cba3419ee8f0b89f394925129c88b5e0cfe985ff931fe23c78
|