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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a34a3f4d1be5cff1f629a7d86fb376c4f45fb22c7e8dc6915778e58ec8e61d6
|
|
| MD5 |
8c9c9f6a77b3a88931cc758f5f1c0b8a
|
|
| BLAKE2b-256 |
535e0f454aa33fa72d339f8b292930b1cbdce0ff2ccaef7fd4e30a5e90d5371d
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef8a93c5bfd87cd41321a8757a511501a354b648e45dfa9c114ac6c4912c9304
|
|
| MD5 |
6cafac13d25f7117c869dbf578977999
|
|
| BLAKE2b-256 |
b3860f186c24b5140853be528835e1adfe92a1b7f25ae8a65464acd8231124e9
|