Mini website crawler to make sitemap from a website.
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 2 commits behind c4software:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Simple script to crawl websites and create a sitemap.xml of all public link in it.

Warning : This script only works with Python3

Simple usage

>>> python --domain --output sitemap.xml

Advanced usage

Read a config file to set parameters: You can overide (or add for list) any parameters define in the config.json

>>> python --config config/config.json

Enable debug:

  $ python --domain --output sitemap.xml --debug

Enable verbose output:

$ python --domain --output sitemap.xml --verbose

Enable Image Sitemap

More informations here

$ python --domain --output sitemap.xml --images

Enable report for print summary of the crawl:

$ python --domain --output sitemap.xml --report

Skip url (by extension) (skip pdf AND xml url):

$ python --domain --output sitemap.xml --skipext pdf --skipext xml

Drop a part of an url via regexp :

$ python --domain --output sitemap.xml --drop "id=[0-9]{5}"

Exclude url by filter a part of it :

$ python --domain --output sitemap.xml --exclude "action=edit"

Read the robots.txt to ignore some url:

$ python --domain --output sitemap.xml --parserobots

Human readable XML

$ python3 --domain --images --parserobots | xmllint --format -

Docker usage

Build the Docker image:

$ docker build -t python-sitemap:latest .

Run with default domain :

$ docker run -it python-sitemap

Run with custom domain :

$ docker run -it python-sitemap --domain

Run with config file and output :

You need to configure config.json file before

$ docker run -it -v `pwd`/config/:/config/ -v `pwd`:/home/python-sitemap/ python-sitemap --config config/config.json