cyberlink-extract
Extrai e-mails, URLs, telefones, CPFs e CNPJs da coluna de histórico de uma planilha XLSX, agrupa as ocorrências por id e gera um arquivo Excel para cada tipo encontrado.
A extração de IP está temporariamente desativada (regex comentado em
patterns.py).
Instalação
pip install cyberlink-extract
Uso
cyberlink-extract planilha.xlsx
Com todos os parâmetros:
cyberlink-extract planilha.xlsx \
--col-id B \
--col-hist H \
--linha-inicio 7 \
--saida ./resultados \
--blacklist minha_blacklist.csv
| Opção | Padrão | Descrição |
|---|---|---|
arquivo |
— | Caminho do .xlsx de entrada (obrigatório) |
-i, --col-id |
B |
Coluna do id |
-c, --col-hist |
H |
Coluna do histórico |
-l, --linha-inicio |
7 |
Primeira linha lida |
-o, --saida |
. |
Diretório de saída |
--blacklist |
— | CSV (uma coluna, sem cabeçalho) com valores exatos a excluir de qualquer tipo (CPF, PHONE, EMAIL, URL, CNPJ) |
-q, --quiet |
— | Omite o resumo final |
Blacklists
Dois filtros de exclusão são aplicados depois da extração por regex:
- CNPJ de instituições financeiras (sempre ativo): os CNPJs cuja raiz (8
primeiros dígitos) constar em
src/cyberlink_extract/data/blacklist_cnpj_padrao.csvsão descartados do resultado. Essa lista é embutida no pacote e não pode ser sobrescrita por parâmetro de linha de comando. - Blacklist geral do usuário (opcional,
--blacklist): um CSV próprio (uma coluna, sem cabeçalho) com valores a excluir. Um valor só é removido se for exatamente igual (após a normalização do tipo) a uma ocorrência encontrada — vale para qualquer tipo (CPF, PHONE, EMAIL, URL, CNPJ), não só CNPJ.
Também funciona como módulo:
python -m cyberlink_extract planilha.xlsx
Saída
Um arquivo por tipo, com as colunas id e o nome do tipo:
OCORRENCIA-EMAIL.xlsxOCORRENCIA-URL.xlsxOCORRENCIA-PHONE.xlsxOCORRENCIA-CPF.xlsxOCORRENCIA-CNPJ.xlsx
Cada valor aparece uma única vez por id, mas o mesmo valor pode se repetir em ids diferentes.
Normalização
CPF, CNPJ e telefone são gravados apenas com dígitos, sem pontuação. Telefones
com código de país (+55) têm o prefixo removido. E-mails são convertidos
para minúsculas. URLs são reduzidas ao domínio: são removidos o esquema
(https://, http://, ftp://, file://), o prefixo www. e qualquer
path/query/fragmento após o domínio (ex.: https://www.exemplo.com/id/123/
vira exemplo.com).
Uso como biblioteca
from cyberlink_extract import processar_planilha, salvar_todos
from cyberlink_extract.blacklist import (
carrega_prefixos_cnpj,
carrega_valores,
filtra_cnpj_por_prefixo,
filtra_valores_exatos,
)
resultados, linhas = processar_planilha("planilha.xlsx", col_id="B",
col_hist="H", linha_inicio=7)
print(resultados["CPF"]) # {'id1': {'12345678900': None}, ...}
# blacklist de CNPJ de instituicoes financeiras (por raiz de 8 digitos)
prefixos = carrega_prefixos_cnpj("blacklist_cnpj_padrao.csv")
filtra_cnpj_por_prefixo(resultados, prefixos)
# blacklist geral, por valor exato, em qualquer tipo
valores = carrega_valores("minha_blacklist.csv")
filtra_valores_exatos(resultados, valores)
salvar_todos(resultados, "./resultados")
Licença
MIT
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 cyberlink_extract-0.2.0.tar.gz.
File metadata
- Download URL: cyberlink_extract-0.2.0.tar.gz
- Upload date:
- Size: 25.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd52a0953e9972df2ea541434d9d590bf71f6f15ea6b85bf81e662d28c7cd13f
|
|
| MD5 |
4c4cfe2081cbbe7cf2718fcc4c490ac3
|
|
| BLAKE2b-256 |
1d747c5f6dae3aa7296001929c9cea7e3d0ec3cffeffdce30d7ae7adf2cdb4f7
|
File details
Details for the file cyberlink_extract-0.2.0-py3-none-any.whl.
File metadata
- Download URL: cyberlink_extract-0.2.0-py3-none-any.whl
- Upload date:
- Size: 26.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4422e518072815ef28a966fc482cb85e7a92351dd671248b35d994040fd00c68
|
|
| MD5 |
ecf70a0d4aee24e77a4702054c08a307
|
|
| BLAKE2b-256 |
dd9cc8daa977435e7fc14464ab68ce249b754522ad4d784a1c27f096b21573fe
|