Skip to main content

Uma biblioteca para scraping com lógica fuzzy e conversão de HTML e conteúdos ao seu redor, lidando com reatividade do javascript para Markdown focado em LLMs.

Project description

Web Scraper with AI — HTML to Markdown for LLMs

Este projeto é uma biblioteca Python que realiza Web Scraping inteligente com lógica fuzzy e converte páginas HTML em Markdown simplificado, ideal para Large Language Models (LLMs) e análises posteriores.


🚀 Funcionalidades

  • Web scraping automatizado com Selenium e suporte a páginas dinâmicas
  • Conversão precisa de HTML para Markdown limpo com suporte a:
    • Títulos, parágrafos, listas, links, tabelas, blocos de código, entre outros
  • Lógica de busca fuzzy para identificar se o conteúdo da página e páginas ao seu redor está relacionado às palavras-chave desejadas
  • Mecanismo de retorno automático de páginas visitadas
  • Pode ser utilizado como biblioteca ou como script principal

🧠 Como Funciona

🔍 Web Scraping com Selenium

O módulo utiliza o undetected-chromedriver e selenium-stealth com o selenium para navegar por páginas web, extrair conteúdos e retroceder após a coleta. O conteúdo das páginas é tratado pelo BeautifulSoup e convertido em Markdown por um parser customizado.

🧪 Lógica Fuzzy

A comparação entre o conteúdo da página e as palavras-chave fornecidas é feita com RapidFuzz, utilizando similaridade textual (ex: token_sort_ratio). Isso permite validar se a página realmente trata do tema buscado, mesmo que o texto não seja exatamente igual.


🖼️ Fluxo do Processo

🧪 Instalação

Com pip

pip install pymandua

Ou alternativamente

  1. Clone o repositório:
git clone https://github.com/Mark-Campanella/pymandua.git
cd pymandua
  1. Crie um ambiente virtual e ative:
python -m venv env
source env/bin/activate  # Linux/macOS
env\Scripts\activate     # Windows
  1. Instale as dependências:
pip install -r requirements.txt

🔧 Uso como script

from pymandua import to_mkd

result = to_mkd(
    urls="https://pt.wikipedia.org/wiki/Luís_XIV_de_França",
    keywords=["Luís XIV", "França", "Rei Sol"],
    output_path=r"projeto/output",
    wait=2,
    threshold=90
)
print(result)

Uso como CLI

to-mkd --urls "https://exemplo.com" --keywords "palavra1,palavra2" --output "saida.md" --wait 2 --threshold 95

🧩 Estrutura do Projeto

├── pymandua/              # Módulo principal
│   ├── interface.py       # Interface principal do conversor
│   ├── converter.py       # Conversor de HTML para Markdown
│   ├── gatherer.py        # Web scraper e parser de conteúdo
│   ├── driver.py          # Inicializador de driver para o selenium
│   ├── crawler.py         # Web crawler e parser de conteúdo
│   ├── treater.py         # Prepara para o cleaner
│   ├── aggregator.py      # Agrega os diversos HTMLs resultantes em um para ser convertido
│   ├── cleaner.py         # Parser e limpador de conteúdo não necessário
├── output/                # Arquivos .mkd gerados
├── requirements.txt       # Dependências
├── main.py                # Exemplo de uso

📚 Referências

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

pymandua-0.1.0.tar.gz (19.7 kB view details)

Uploaded Source

Built Distribution

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

pymandua-0.1.0-py3-none-any.whl (20.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pymandua-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9276e655aa3964c22421160e82decd09d5e45f4febca2806cf8c303eb4a8af98
MD5 551bee8d69fb0a006afb70df1467db73
BLAKE2b-256 50307fc29903df38063dd446690a8e29f97db5c4e8a5c6ab8bb4a0e01ef18324

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymandua-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 20.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.6

File hashes

Hashes for pymandua-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 50e767966be573110e0ab20882f2f4ea85c22b226d4c2e07c86ed7a34ee2c6e9
MD5 c5bf449dc4927cf9194ab2d224bcb5b6
BLAKE2b-256 59633474f0107187bfa2c823513df7c33dbe12243915b270deb0d82f4e11db9d

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