2020-12-13 18:38:16 +01:00
< div align = "center" >
2020-05-04 17:36:00 +02:00
2021-01-04 20:00:07 +01:00
< img src = "https://raw.githubusercontent.com/akamhy/waybackpy/master/assets/waybackpy_logo.svg" > < br >
2021-01-02 07:50:43 +01:00
2022-01-16 18:31:31 +01:00
< h3 > Python package & CLI tool that interfaces with the Wayback Machine API< / h3 >
2020-05-05 05:57:02 +02:00
2021-01-04 20:00:07 +01:00
< / div >
2020-10-02 21:46:19 +02:00
2022-01-16 18:31:31 +01:00
< p align = "center" >
< a href = "https://pypi.org/project/waybackpy/" > < img alt = "pypi" src = "https://img.shields.io/pypi/v/waybackpy.svg" > < / a >
< a href = "https://github.com/akamhy/waybackpy/blob/master/CONTRIBUTING.md" > < img alt = "Contributions Welcome" src = "https://img.shields.io/static/v1.svg?label=Contributions&message=Welcome&color=0059b3&style=flat-square" > < / a >
< a href = "https://pepy.tech/project/waybackpy?versions=2*&versions=1*&versions=3*" > < img alt = "Downloads" src = "https://pepy.tech/badge/waybackpy/month" > < / a >
< a href = "https://github.com/akamhy/waybackpy/commits/master" > < img alt = "GitHub lastest commit" src = "https://img.shields.io/github/last-commit/akamhy/waybackpy?color=blue&style=flat-square" > < / a >
< a href = "#" > < img alt = "PyPI - Python Version" src = "https://img.shields.io/pypi/pyversions/waybackpy?style=flat-square" > < / a >
< / p >
2021-01-04 20:00:07 +01:00
-----------------------------------------------------------------------------------------------------------------------------------------------
2020-05-05 05:33:16 +02:00
2022-01-16 18:31:31 +01:00
## ⭐️ Introduction
Waybackpy is a [Python package ](https://www.udacity.com/blog/2021/01/what-is-a-python-package.html ) 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
2020-10-02 20:04:06 +02:00
2020-05-04 17:36:00 +02:00
Using [pip ](https://en.wikipedia.org/wiki/Pip_(package_manager )):
2020-10-02 20:04:06 +02:00
2020-07-18 04:46:59 +02:00
```bash
pip install waybackpy
```
2020-10-02 20:04:06 +02:00
2021-01-04 20:00:07 +01:00
Install directly from GitHub:
2020-10-02 20:04:06 +02:00
2020-07-22 18:05:02 +02:00
```bash
pip install git+https://github.com/akamhy/waybackpy.git
```
2020-05-04 17:36:00 +02:00
2022-01-16 18:31:31 +01:00
### Docker Image
Docker Hub : < https: / / hub . docker . com / r / secsi / waybackpy >
2022-01-02 09:44:45 +01:00
2022-01-16 18:31:31 +01:00
Docker image is automatically updated on every release by [Regulary and Automatically Updated Docker Images ](https://github.com/cybersecsi/RAUDI ) (RAUDI).
RAUDI is a tool by SecSI (< https: / / secsi . io > ), an Italian cybersecurity startup.
2021-01-11 18:31:18 +01:00
2021-01-04 20:00:07 +01:00
### Usage
2020-10-02 21:46:19 +02:00
2021-01-05 14:38:35 +01:00
#### As a Python package
2021-01-04 20:00:07 +01:00
```python
>>> import waybackpy
2020-10-17 08:31:49 +02:00
2021-01-04 20:00:07 +01:00
>>> url = "https://en.wikipedia.org/wiki/Multivariable_calculus"
>>> user_agent = "Mozilla/5.0 (Windows NT 5.1; rv:40.0) Gecko/20100101 Firefox/40.0"
2020-10-17 08:31:49 +02:00
2021-01-04 20:00:07 +01:00
>>> wayback = waybackpy.Url(url, user_agent)
2020-12-13 18:38:16 +01:00
2021-01-04 20:00:07 +01:00
>>> archive = wayback.save()
2021-01-05 14:38:35 +01:00
>>> archive.archive_url
2021-01-04 20:00:07 +01:00
'https://web.archive.org/web/20210104173410/https://en.wikipedia.org/wiki/Multivariable_calculus'
2020-12-13 18:38:16 +01:00
2021-01-04 20:00:07 +01:00
>>> archive.timestamp
datetime.datetime(2021, 1, 4, 17, 35, 12, 691741)
2020-12-13 18:38:16 +01:00
2021-01-04 20:00:07 +01:00
>>> oldest_archive = wayback.oldest()
2021-01-05 14:38:35 +01:00
>>> oldest_archive.archive_url
2021-01-04 20:00:07 +01:00
'https://web.archive.org/web/20050422130129/http://en.wikipedia.org:80/wiki/Multivariable_calculus'
>>> archive_close_to_2010_feb = wayback.near(year=2010, month=2)
2021-01-05 14:38:35 +01:00
>>> archive_close_to_2010_feb.archive_url
2021-01-04 20:00:07 +01:00
'https://web.archive.org/web/20100215001541/http://en.wikipedia.org:80/wiki/Multivariable_calculus'
2021-01-05 14:38:35 +01:00
>>> wayback.newest().archive_url
2021-01-04 20:00:07 +01:00
'https://web.archive.org/web/20210104173410/https://en.wikipedia.org/wiki/Multivariable_calculus'
2020-10-16 19:07:32 +02:00
```
2022-01-16 21:45:38 +01:00
> Documentation at <https://github.com/akamhy/waybackpy/wiki/Python-package-docs>.
2020-10-16 19:07:32 +02:00
2020-12-13 18:38:16 +01:00
2021-01-04 20:00:07 +01:00
#### As a CLI tool
2020-12-13 18:38:16 +01:00
```bash
2021-01-04 20:00:07 +01:00
$ 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
2020-12-13 18:38:16 +01:00
2021-01-04 20:00:07 +01:00
$ 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
2020-12-13 18:38:16 +01:00
2021-01-04 20:00:07 +01:00
$ 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
```
2022-01-16 21:45:38 +01:00
> CLI documentation is at <https://github.com/akamhy/waybackpy/wiki/CLI-docs>.
2020-05-04 17:36:00 +02:00
2022-01-16 21:45:38 +01:00
### 🛡 License
2021-01-04 20:00:07 +01:00
[![License: MIT ](https://img.shields.io/badge/License-MIT-green.svg )](https://github.com/akamhy/waybackpy/blob/master/LICENSE)
2020-10-02 20:04:06 +02:00
2022-01-16 21:45:38 +01:00
Released under the MIT License. See [license ](https://github.com/akamhy/waybackpy/blob/master/LICENSE ) for details.