2.0.2 • Published 1 year ago

@alexanderliu/cheerio-table-parser v2.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Cheerio Table Parser

Usado para converter tabelas em HTML para JSON

Como usar

Para iniciar você precisará instalar a lib cheerio

yarn add cheerio @pedroentringer/cheerio-table-parser

Feito isso basta iniciar as duas libs e fazer o scrapping

import cheerio from 'cheerio';
import withTableParser from '@pedroentringer/cheerio-table-parser';

const html =
  '<table id="tabela"><thead><tr><th>id</th><th>nome</th><th>Data de Nascimento</th><th>idade</th></tr></thead><tbody><tr><td>1</td><td>Pedro Entringer</td><td>05/10/1997</td><td>22</td></tr></tbody></table>';

const $ = withTableParser(cheerio.load(html));

const table = $('#tabela').parseTable();

O resultado sera:

[
  {
    "id": 1,
    "nome": "Pedro Entringer",
    "dataDeNascimento": "05/10/1997",
    "idade": 22
  }
]

Conversão automatica de tipos

O Script convert para String, Number e Boolean

Tabela sem thead

Se sua tabela não tiver os campos em thead, você pode usar a configuração headerIsFirstLine.

import cheerio from 'cheerio';
import withTableParser from '@pedroentringer/cheerio-table-parser';

const html =
  '<table id="tabela"><tbody><tr><th>id</th><th>nome</th><th>Data de Nascimento</th><th>idade</th></tr><tr><td>1</td><td>Pedro Entringer</td><td>05/10/1997</td><td>22</td></tr></tbody></table>';

const $ = withTableParser(cheerio.load(html));

const table = $('#tabela').parseTable({ headerIsFirstLine: true });

O resultado sera:

[
  {
    "id": 1,
    "nome": "Pedro Entringer",
    "dataDeNascimento": "05/10/1997",
    "idade": 22
  }
]

Header customizado

Se sua tabela não tiver header, você poderá definir manualmente usando a configuração headers.

import cheerio from 'cheerio';
import withTableParser from '@pedroentringer/cheerio-table-parser';

const html =
  '<table id="tabela"><tbody><tr><td>1</td><td>Pedro Entringer</td><td>05/10/1997</td><td>22</td></tr></tbody></table>';

const $ = withTableParser(cheerio.load(html));

const table = $('#tabela').parseTable({ headers: ["id", "nome", "dataDeNascimento", "idade"] });

O resultado sera:

[
  {
    "id": 1,
    "nome": "Pedro Entringer",
    "dataDeNascimento": "05/10/1997",
    "idade": 22
  }
]
2.0.2

1 year ago

2.0.1

1 year ago

2.0.0

1 year ago

1.0.6

1 year ago