Project · 2026

StockAnalysis.com Scraper

A desktop application that downloads company statements and market data into organized Excel workbooks or CSV files.

Python · tkinter · pandas · Beautiful Soup

View repository and README

The question

Can routine company-data collection be turned into a fast, repeatable desktop workflow without requiring an API key or browser-based copying?

What I built

A Python and tkinter desktop application that collects overview data, income statements, balance sheets, cash-flow statements, and ratios from StockAnalysis.com for one or many tickers.

Method

The interface cleans and deduplicates ticker input, lets the user choose statements, annual or quarterly periods, output mode, file format, and destination, then fetches the requested pages concurrently through persistent HTTP sessions.

What it shows

A small desktop interface can remove repetitive collection work while still making the run observable: each statement reports progress, failed tickers are isolated, and completed files are organized predictably by run and company.

Core capabilities

Flexible ticker input

Accepts comma-, space-, or semicolon-separated tickers, normalizes capitalization and spacing, and removes duplicates before the run.

Statement selection

Downloads any combination of company overview, income statement, balance sheet, cash-flow statement, and ratios.

Annual and quarterly views

Runs annual, quarterly, or both periods; combined workbooks keep the selected views in separate sheets.

Observable execution

Includes a status-colored progress bar, a collapsible real-time log, per-ticker error isolation, and a remembered output location.

Workflow

  1. Enter one or more ticker symbols and select the statements to collect.
  2. Choose annual, quarterly, or both, then select a combined workbook or separate files.
  3. The app fetches statements concurrently with an eight-worker thread pool and reuses persistent network connections.
  4. Each run is written to a timestamped folder with a separate subfolder for every ticker.

Outputs

Combined Excel workbook
One workbook per ticker with selected statements on separate tabs, a metadata header, and automatically fitted columns.
Separate files
One CSV or Excel file per selected statement when a flat, modular output is preferable.
Run log and folder structure
Timestamped run folders preserve which files belong together, while the interface reports each fetch and save operation.

Limitations

Links