Skip to main content

A simple sitemap builder

The sitemap builder traverses links from a website and constrains itself to the given domain name. The final result will be a simple sitemap deduced from the links visited. The crawler will accept & process only URLs with http or https schemes.

Installation and usage

To run the following command to install the tool:

pip install -U sitemapbuilder

To run the sitemap builder:

sitemapbuilder -u 'https://monzo.com' -o test_monzo.dot

Some websites have strong protection and the tool will not work for them:

sitemapbuilder -u 'https://bloomberg.com' -o test_bloomberg.dot

Highlights

  1. Generate Graphviz .dot file showing directed links between pages. One can generate PNG/PDF and other image/document formats.

  2. Have configurable decay (maximum depth) to avoid abuse.

  3. Visit web link within the same hostname by default.

  4. Use 5 threads by default and times out after 10 seconds.

  5. Timeout after 5 seconds when fetching a URL.

  6. Handle timeout exceptions when querying a website.

  7. Send a HTTP HEAD request and verify that Content-Type is text/html and charset is either UTF-8 or US-ASCII.

  8. Have a map of visited URLs to avoid revisiting them.

  9. Follow HTTP redirects.

Upcoming features

  • Configure the number of threads and timeout via cmd args.

  • Allow web links from all subdomains.

  • Allow web links from a list of domains.

  • Allow web links matching a pattern.

  • Add an option for hierarchical sitemap instead of directed graph.

  • Use PriorityQueue instead of Queue to process links with higher decay first.

  • Fine-graned info, warn and error logging.

  • Pass seed links from a file.

  • Save to and resume from a DB/persistent data source.

  • Faster concurrency and better performance with asyncio.

Metadata

Release files for sitemapbuilder 0.0.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sitemapbuilder 0.0.7
File Size Uploaded Provenance Actions
sitemapbuilder-0.0.7.tar.gz 6.1 kB Without provenance Details for sitemapbuilder-0.0.7.tar.gz

Release files / sitemapbuilder-0.0.7.tar.gz

Download URL sitemapbuilder-0.0.7.tar.gz
Size 6.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e749f0336d4707ce2007d14caf07f90efdebc4ffefadbfddc593898acfd085c0
BLAKE2b-256 checksum
How to use checksums
799c5218276f3476c6d9d77f3737930015435b3b9d2464bfe00f99500436a477
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Python-urllib/3.6

Security for sitemapbuilder 0.0.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page