Skip to main content

Download all Snap Map content from a specific location.

Project description

snapmap-archiver

Download all Snap Map content from a specific location.

snapmap-archiver splash

View on PyPI

Installation (for general usage)

Install with pip or pipx or whatever trendy Python package manager you use:

pip install snapmap-archiver

Local Development Setup

Install Poetry with pip or pipx:

pip install poetry

Install the project dependencies:

poetry install

Run the app with Poetry:

poetry run python3 main.py [...args]

Usage

snapmap-archiver -o [OUTPUT DIR] -l="[LATITUDE],[LONGITUDE]"

Unfortunately you have to use the arbitrary -l="lat,lon" (with the equals sign) rather than just -l "lat,lon" when parsing negative numbers as argsparse interprets said numbers as extra arguments.

Optional Arguments

Location

-l is not required if an input file or Snap URL is provided. It can also be used multiple times to download Snaps from multiple locations in one command.

E.g

snapmap-archiver -o ~/Desktop/snap -l='123.123,123.123' -l '445.445,445.445'

Input File

With -f or --file, you can specify a file containing a list of line-separated Snap URLs or IDs.

E.g

snapmap-archiver -o ~/Desktop/snaps -f ~/Desktop/snaps.txt

Inside snaps.txt:

https://map.snapchat.com/ttp/snap/Example/@-33.643495,115.741281,11.86z
Example
https://map.snapchat.com/ttp/snap/Example/
https://map.snapchat.com/ttp/snap/Example/

Snap URL

You can also just pass 1 or more normal Snap URLs or IDs to the package to download it individually like this:

snapmap-archiver -o ~/Desktop/snap 'https://map.snapchat.com/ttp/snap/Example/@-33.643495,115.741281,11.86z' 'Example'

Time Filter

Use the -t flag with a Unix timestamp or day, hour, or minute interval to skip the download of any snaps older than that point.

Example with a Unix timestamp:

snapmap-archiver -t 1714392291 -l='-123,123'

Examples with a dynamic time filter:

snapmap-archiver -t 3d -l='-123,123'  # Removes anything older than 3 days
snapmap-archiver -t 5h -l='-123,123'  # Removes anything older than 5 hours
snapmap-archiver -t 30m -l='-123,123'  # Removes anything older than 30 minutes

Export JSON

You can export a JSON file with info about downloaded snaps with the --write-json argument, which will contain information like the time the Snap was posted, and the Snap location.

It will write archive.json to the specified output directory.

Snap Radius

The radius from the coordinates you provide that will be included for downloads. -r 20000 will download all Snaps within a 20km radius of your coordinates.

Zoom Depth

You can input a custom zoom depth value (-z) that correlates to a zoom level in the GUI. ArcGIS has documentation about this here, but essentially the lower the number, the further zoomed-out you are. 5 is the default and shouldn't cause any issues.

Debug Mode

Enable debug logs with -d/--debug.

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

snapmap_archiver-2.4.0.tar.gz (21.5 kB view details)

Uploaded Source

Built Distribution

snapmap_archiver-2.4.0-py3-none-any.whl (22.6 kB view details)

Uploaded Python 3

File details

Details for the file snapmap_archiver-2.4.0.tar.gz.

File metadata

  • Download URL: snapmap_archiver-2.4.0.tar.gz
  • Upload date:
  • Size: 21.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.9 Windows/10

File hashes

Hashes for snapmap_archiver-2.4.0.tar.gz
Algorithm Hash digest
SHA256 ae29ba85028e6ce93251ccc00a25e9bbc0090b8ee9ed2b5aad24b9b2138ba1a5
MD5 a06a9f944b79f8450adf3f6a14cd1a7a
BLAKE2b-256 32f6ef44320d0d37db62f152d7c667f1f47be714cee2f0ee6a807aa2fb2e46e4

See more details on using hashes here.

File details

Details for the file snapmap_archiver-2.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for snapmap_archiver-2.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 868e8c9086c76fbc3bc8280f192238010808c9c28b9a3ed0e4625a5b5e7cd918
MD5 c33518effa4da8471fbf14cbb9dc74da
BLAKE2b-256 12c1305b6f6375250fdb47e122cfab950a373fd78a8b05f75a73196209b89c8c

See more details on using hashes here.

Supported by

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