Waybackpy is a Python package and a CLI tool that interfaces with the Wayback Machine API.
Wayback Machine has 3 client side APIs.
These three APIs can be accessed via the waybackpy either by importing it in a script or from the CLI.
Using pip, from PyPI (recommended):
pip install waybackpy
Using conda, from conda-forge (recommended):
See also waybackpy feedstock, maintainers are @rafaelrdealmeida, @labriunesp and @akamhy.
conda install -c conda-forge waybackpy
Install directly from this git repository (NOT recommended):
pip install git+https://github.com/akamhy/waybackpy.git
Docker Hub : https://hub.docker.com/r/secsi/waybackpy
Docker image is automatically updated on every release by Regulary and Automatically Updated Docker Images (RAUDI).
RAUDI is a tool by SecSI (https://secsi.io), an Italian cybersecurity startup.
>>> from waybackpy import WaybackMachineSaveAPI >>> url = "https://github.com" >>> user_agent = "Mozilla/5.0 (Windows NT 5.1; rv:40.0) Gecko/20100101 Firefox/40.0" >>> >>> save_api = WaybackMachineSaveAPI(url, user_agent) >>> save_api.save() https://web.archive.org/web/20220118125249/https://github.com/ >>> save_api.cached_save False >>> save_api.timestamp() datetime.datetime(2022, 1, 18, 12, 52, 49)
>>> from waybackpy import WaybackMachineAvailabilityAPI >>> >>> url = "https://google.com" >>> user_agent = "Mozilla/5.0 (Windows NT 5.1; rv:40.0) Gecko/20100101 Firefox/40.0" >>> >>> availability_api = WaybackMachineAvailabilityAPI(url, user_agent) >>> >>> availability_api.oldest() https://web.archive.org/web/19981111184551/http://google.com:80/ >>> >>> availability_api.newest() https://web.archive.org/web/20220118150444/https://www.google.com/ >>> >>> availability_api.near(year=2010, month=10, day=10, hour=10) https://web.archive.org/web/20101010101708/http://www.google.com/
>>> from waybackpy import WaybackMachineCDXServerAPI >>> url = "https://pypi.org" >>> user_agent = "Mozilla/5.0 (Windows NT 5.1; rv:40.0) Gecko/20100101 Firefox/40.0" >>> cdx = WaybackMachineCDXServerAPI(url, user_agent, start_timestamp=2016, end_timestamp=2017) >>> for item in cdx.snapshots(): ... print(item.archive_url) ... https://web.archive.org/web/20160110011047/http://pypi.org/ https://web.archive.org/web/20160305104847/http://pypi.org/ . . # URLS REDACTED FOR READABILITY . https://web.archive.org/web/20171127171549/https://pypi.org/ https://web.archive.org/web/20171206002737/http://pypi.org:80/
Documentation is at https://github.com/akamhy/waybackpy/wiki/Python-package-docs.
Demo video on asciinema.org, you can copy the text from video:
CLI documentation is at https://github.com/akamhy/waybackpy/wiki/CLI-docs.
Copyright (c) 2020-2022 Akash Mahanty Et al.
Released under the MIT License. See license for details.