An open API service indexing awesome lists of open source software.

https://github.com/darkarp/histexport

Export Chromium-based browser and download history to various formats.
https://github.com/darkarp/histexport

Last synced: 5 months ago
JSON representation

Export Chromium-based browser and download history to various formats.

Awesome Lists containing this project

README

          

# History Exporter

![Build Status](https://img.shields.io/badge/build-passing-green)
![GitHub release](https://img.shields.io/github/release/darkarp/histexport.svg)
![License](https://img.shields.io/github/license/darkarp/histexport.svg)

## Table of Contents

- [Introduction](#introduction)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Usage](#usage)
- [Command Line Interface](#command-line-interface)
- [Data Extraction](#data-extraction)
- [Output Formats](#output-formats)
- [Logging](#logging)
- [License](#license)

## Introduction

HistoryExtractor is a Python utility aimed at exporting Chromium-based browser history and downloads data to various formats such as CSV, XLSX, and TXT. Designed with a focus on user flexibility, this tool provides customizable extraction options to suit different needs.

## Prerequisites

- Python 3.7+

## Installation

### Method 1: Using pip

You can install `histexport` directly using pip:
```
pip install histexport
```

### Method 2: From GitHub Repository

1. Clone the GitHub repository.
```
git clone https://github.com/darkarp/histexport.git
```
2. Navigate to the project directory.
```
cd histexport
```
3. Install the required Python packages.
```
pip install -e .
```

Either of these methods will install the required Python packages and make `histexport` available for use.

## Usage

### Command Line Interface

1. Basic extraction of URLs and Downloads in `txt`:
```
histexport -i path/to/history/history_file -o output_file
```

2. Specify output directory and formats:
```
histexport -i path/to/history/history_file -o output_file -d path/to/output -f csv xlsx
```

3. Enable logging (`-l`):
```
histexport -i path/to/history/history_file -o output_file -l
```

4. Extract from a folder of SQLite files:
```
histexport -i path/to/history_folder -t folder -o output_file -d path/to/output -f csv xlsx -e urls downloads
```

#### Arguments

- `-i`, `--input`: Path to the SQLite history file. (required)
- `-t`, `--type`: Type of the input: file or folder. Default is file
- `-o`, `--output`: Base name for output files. (required)
- `-d`, `--dir`: Output directory. (optional, default is `./`)
- `-f`, `--formats`: Output formats (csv, xlsx, txt). (optional, default is `txt`)
- `-e`, `--extract`: Data to extract (urls, downloads). (optional, default is both)
- `-l`, `--log`: Enable logging. (optional, default is disabled.
- `-l 1`: CRITICAL
- `-l 2`: ERROR
- `-l 3`: WARNING
- `-l 4`: INFO
- `-l 5`: DEBUG
- `-v`, `--version`: Show version.

## Data Extraction

The tool allows extraction of:

- URLs: Fetches `URL`, `Title`, `Visit_Count`, and `Last_Visit_Time`.
- Downloads: Extracts `Target_Path`, `Start_Time`, `End_Time`, `Total_Bytes`, `Received_Bytes`, and `URL`.

## Output Formats

You can export the data into:

- CSV
- XLSX (Excel)
- TXT (Pretty printed text file)

## License

This project is licensed under the MIT License - see the [LICENSE.md](LICENSE) file for details.