Fork of https://github.com/akamhy/waybackpy
Wayback Machine API interface & a command-line tool
archive-webpagearchive-webpagescdx-apiinternet-archiveinternet-archivingosintsavepagenowwayback-machinewayback-machine-apiwayback-machine-pythonweb-archivingwebarchiving
.github/workflows | ||
assets | ||
waybackpy | ||
_config.yml | ||
.gitignore | ||
.whitesource | ||
CONTRIBUTORS.md | ||
LICENSE | ||
README.md | ||
requirements.txt | ||
setup.cfg | ||
setup.py |
Python package & CLI tool that interfaces with the Wayback Machine API
⭐️ Introduction
Waybackpy is a Python package and a CLI tool that interfaces with the Wayback Machine API.
Wayback Machine has 3 client side APIs.
- Save API
- Availability API
- CDX API
All three of these can be accessed by waybackpy.
🏗 Installation
Using pip:
pip install waybackpy
Install directly from GitHub:
pip install git+https://github.com/akamhy/waybackpy.git
Docker Image
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.
Usage
As a Python package
Save API aka SavePageNow
>>> 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)
Availability API
>>> 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/
CDX API aka CDXServerAPI
>>> from waybackpy import WaybackMachineCDXServerAPI
>>> url = "https://github.com"
>>> user_agent = "Mozilla/5.0 (Windows NT 5.1; rv:40.0) Gecko/20100101 Firefox/40.0"
Documentation at https://github.com/akamhy/waybackpy/wiki/Python-package-docs.
As a CLI tool
$ waybackpy --save --url "https://en.wikipedia.org/wiki/Social_media" --user_agent "my-unique-user-agent"
https://web.archive.org/web/20200719062108/https://en.wikipedia.org/wiki/Social_media
$ waybackpy --oldest --url "https://en.wikipedia.org/wiki/Humanoid" --user_agent "my-unique-user-agent"
https://web.archive.org/web/20040415020811/http://en.wikipedia.org:80/wiki/Humanoid
$ waybackpy --newest --url "https://en.wikipedia.org/wiki/Remote_sensing" --user_agent "my-unique-user-agent"
https://web.archive.org/web/20201221130522/https://en.wikipedia.org/wiki/Remote_sensing
CLI documentation is at https://github.com/akamhy/waybackpy/wiki/CLI-docs.
🛡 License
Released under the MIT License. See license for details.