Skip to main content

Web scraper that finds all pages on a domain

Project description

gleaner

A simple web scraper that finds all the pages on a domain using breadth-first search.

Installation

pipx install gleaner

Usage

glean https://example.com -o output.txt

This will

  • Start at given URL
  • Search through HTML to find pages on the same domain
  • Follow those links and repeat the process
  • Save all discovered URLs to output.txt

Options

For more help on options

glean --help
  • -o, --output - Output file (default: urls.txt)
  • -r, --rps - Maximum requests per second (default: 10)
  • -v, --verbose - Enable verbose output

Limitations

  • Rate limiter only works for rps >= 1
  • Only follows <a>-tag links
  • Doesn't read robots.txt
  • No user-agent header
  • Doesn't handle 429 errors (too many requests)
  • Doesn't parse sitemap.xml
  • No export formats beyond .txt (json? csv?)
  • Only works for entire domains. You can't glean an individual page and all sub-pages
  • Doesn't store progress for larger sites where scraping might last more than a few minutes
  • No concurrent processing

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gleaner-0.1.3.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gleaner-0.1.3-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file gleaner-0.1.3.tar.gz.

File metadata

  • Download URL: gleaner-0.1.3.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for gleaner-0.1.3.tar.gz
Algorithm Hash digest
SHA256 0a34a3f4d1be5cff1f629a7d86fb376c4f45fb22c7e8dc6915778e58ec8e61d6
MD5 8c9c9f6a77b3a88931cc758f5f1c0b8a
BLAKE2b-256 535e0f454aa33fa72d339f8b292930b1cbdce0ff2ccaef7fd4e30a5e90d5371d

See more details on using hashes here.

File details

Details for the file gleaner-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: gleaner-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for gleaner-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ef8a93c5bfd87cd41321a8757a511501a354b648e45dfa9c114ac6c4912c9304
MD5 6cafac13d25f7117c869dbf578977999
BLAKE2b-256 b3860f186c24b5140853be528835e1adfe92a1b7f25ae8a65464acd8231124e9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page