Download all Snap Map content from a specific location.
Project description
snapmap-archiver
Download all Snap Map content from a specific location.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae29ba85028e6ce93251ccc00a25e9bbc0090b8ee9ed2b5aad24b9b2138ba1a5 |
|
MD5 | a06a9f944b79f8450adf3f6a14cd1a7a |
|
BLAKE2b-256 | 32f6ef44320d0d37db62f152d7c667f1f47be714cee2f0ee6a807aa2fb2e46e4 |
File details
Details for the file snapmap_archiver-2.4.0-py3-none-any.whl
.
File metadata
- Download URL: snapmap_archiver-2.4.0-py3-none-any.whl
- Upload date:
- Size: 22.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.11.9 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 868e8c9086c76fbc3bc8280f192238010808c9c28b9a3ed0e4625a5b5e7cd918 |
|
MD5 | c33518effa4da8471fbf14cbb9dc74da |
|
BLAKE2b-256 | 12c1305b6f6375250fdb47e122cfab950a373fd78a8b05f75a73196209b89c8c |