# Financial Data Extractors

A library for extracting and processing financial data from various economic calendar websites.

## Features

- Extract economic event data from multiple sources:
  - Trading Economics
  - Bloomberg
  - FXStreet
  - Investing.com
  - MarketWatch
- Process and standardize table data
- Convert extracted data to structured JSON format

## Installation

Since this is a private package, you can install it using one of the following methods:

### Via npm private registry:
```bash
npm install financial-data-extractors
```

### Via GitHub Packages:
```bash
npm install @your-username/financial-data-extractors
```

### Via Git URL:
```bash
npm install git+https://github.com/your-username/financial-data-extractors.git#v1.0.0
```

## Usage

```typescript
import { 
  extractTradingEconomicsData, 
  extractBloombergData,
  TableHandler 
} from 'financial-data-extractors';

// Extract data from Trading Economics
const teData = extractTradingEconomicsData({
  document: window.document
});

// Extract data from Bloomberg
const bloombergData = extractBloombergData({
  document: window.document
});

// Process a table
const tableHandler = new TableHandler();
const tables = tableHandler.extractAllTables(window.document);
const processedData = tableHandler.processEconomicCalendarData(tables);
```

## API Reference

### Extractors

- `extractTradingEconomicsData(options)`: Extract data from Trading Economics calendar
- `extractBloombergData(options)`: Extract data from Bloomberg economic calendar
- `extractFXStreetData(options)`: Extract data from FXStreet economic calendar
- `extractInvestingData(options)`: Extract data from Investing.com economic calendar
- `extractMarketWatchData(options)`: Extract data from MarketWatch economic calendar

### Table Processing

- `TableHandler`: Class for processing HTML tables
  - `extractAllTables(document)`: Extract tables from a document
  - `processEconomicCalendarData(tables)`: Process tables as economic calendar data
  - `simplifyTableData(table)`: Convert table data to a simplified format
  - `downloadTablesAsJson(tables, filename)`: Convert tables to JSON and provide download

## License

MIT
