2 ×

Table Extractor

Selenium Nodes for KNIME version 4.1.1.201911081027 by seleniumnodes.com

This node conveniently converts HTML tables into KNIME tables. It uses some simple heuristics to determine the column names. The result are three KNIME tables. The first KNIME table contains the HTML table’s content, the second and third KNIME tables contain the HTML table’s header and footer.

As KNIME supports no spanning rows or columns, rowspan and colspan attributes in the HTML table are mapped by simply copying the original cell’s content to the spanning cells.

The HTML table’s header is detected by checking, whether (1) all cells are of type th, or (2) the cells are contained within a thead element. The HTML table’s footer is detected through the tfoot element.

The KNIME table’s column names are generated from HTML table’s header. In case the header is a single row, the column names equal the HTML table’s header names. In case there is more than one row in the HTML table’s header, the rows are concatenated with “ > ”. In case the HTML table contains no header, the column names are synthetically generated (“column0”, “column1”, …)

Here’s an example HTML table:

Header A
Header B Header C Header D
Cell 1 Cell 2 Cell 3
Cell 4 Cell 5
Cell 6 Cell 7

This will result in the following KNIME content table:

Header A > Header B Header A > Header C Header A > Header D
Cell 1 Cell 2 Cell 3
Cell 4 Cell 5 Cell 5
Cell 4 Cell 6 Cell 7

And the KNIME header table:

Header A > Header B Header A > Header C Header A > Header D
Header A Header A Header A
Header B Header C Header D

The footer table would be empty in this example, because the HTML table contains no footer.

Options

Input
Input column which provides the WebElement which resembles the table
Create missing values for missing cells
If this option is checked, missing value cells (instead of empty string cells) will be created for those cells, which are not explicitly defined within the HTML table.

Input Ports

Table with a column providing a WebElement which resembles the table to extract

Output Ports

The table content
The table’s header data
The table’s footer data

Best Friends (Incoming)

Best Friends (Outgoing)

Installation

To use this node in KNIME, install Selenium Nodes for KNIME from the following update site:

KNIME 4.0
Wait a sec! You want to explore and install nodes even faster? We highly recommend our NodePit for KNIME extension for your KNIME Analytics Platform.

Developers

You want to see the source code for this node? Click the following button and we’ll use our super-powers to find it for you.