Skip to main content

Download Street View panoramas, obtain metadata and short panorama URLs from various services

Project description

sv-dlp

sv-dlp is a panorama scraper for various street view platforms that can download, obtain metadata and short URLs.

sv-dlp heavily relies on reverse engineered APIs - in the event of one service not working, please submit an issue with the Dead API label and will be solved as soon as possible once I (or a collaborator) sees it.

This project has been made for educational purposes and all content scraped from is owned by their respective authors.

Features

  • Download Panoramas
    • A panorama ID, a coordinate or a short URL can be parsed
      • [Google] Radius can be parsed if input is coordinates
    • Is multithreaded; each panorama tile row is in different threads for faster downloads
    • Saves individual tiles if --save-tiles is parsed
    • Download from .csv/.json files
  • Fully print metadata
    • Coords, Date, Panorama ID and Gen can be printed separately
  • Coordinates and short URLs are automatically turned to Panorama IDs
  • Short links with a Panorama ID or coordinates

Services

Service Status Notes
Google 100% Zoom 5 only obtains a portion of the face, but that might be Google's problem.
Baidu 99% Downloading might be slow depending on how far you are from Baidu's servers; translation between BD09MC and WGS84 is innacurate
Yandex 99% Short Link function does not use the shortenPath API call.
Apple 95% Misc features not supported; can only obtain metadata by coords - credit to sk-zk & retroplasma
Bing 95% Misc features not implemented; can only obtain metadata by coords - credit to sk-zk

Installation

Automatic

$ python3 -m pip install sv_dlp
# Make sure Python is in PATH
# if you plan on using its CLI

Manual

If you prefer using a binary instead, check out the binaries here and add them to your PATH folder. Check out this guide for more information.

FAQ

Why aren't all my coordinates from .csv downloading?

Depending on how close the given coordinates are, it'll download the same panorama ID no matter the difference. It's recommended to use .json or .csv with panorama IDs instead.

Can X Service be added?

Depending on how accesible it is scraping-wise, yes. Feel free to submit in an issue about the specific service and I'll gladly see what I can do about it. If you're a developer though, refer to the next question.

I'm a developer and I want to add X service or improve the code. Can I?

Sure! You're welcome to submit in a pull request as long as its to improve this program, such as improving performance, fixing a bug, adding a service, etc. For those who want to add a service, check out the documentation for it.

License

MIT

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

sv-dlp-2023.1.16.tar.gz (27.3 kB view hashes)

Uploaded Source

Built Distribution

sv_dlp-2023.1.16-py3-none-any.whl (31.9 kB view hashes)

Uploaded Python 3

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