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
|
|
|
|
2021-01-04 20:00:07 +01:00
|
|
|
<h2>Python package & CLI tool that interfaces with the Wayback Machine API</h2>
|
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
|
|
|
|
2021-01-04 20:00:07 +01:00
|
|
|
-----------------------------------------------------------------------------------------------------------------------------------------------
|
2020-05-05 05:33:16 +02:00
|
|
|
|
2021-01-02 07:50:43 +01:00
|
|
|
### 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-02 09:44:45 +01:00
|
|
|
### Supported APIs
|
|
|
|
Wayback Machine has 3 client side APIs.
|
|
|
|
|
|
|
|
- Save API
|
|
|
|
- Availability API
|
|
|
|
- CDX API
|
2021-01-11 18:31:18 +01:00
|
|
|
|
2022-01-02 09:44:45 +01:00
|
|
|
All three of these can be accessed by waybackpy.
|
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
|
|
|
```
|
2021-01-04 21:22:35 +01:00
|
|
|
> Full Python package documentation can be found at <https://github.com/akamhy/waybackpy/wiki/Python-package-docs>.
|
2021-01-04 21:21:53 +01:00
|
|
|
|
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
|
2020-12-13 18:38:16 +01:00
|
|
|
|
2021-01-24 11:45:11 +01:00
|
|
|
$ waybackpy --known_urls --url akamhy.github.io --user_agent "my-unique-user-agent" --file
|
2021-01-04 20:00:07 +01:00
|
|
|
https://akamhy.github.io
|
|
|
|
https://akamhy.github.io/assets/js/scale.fix.js
|
|
|
|
https://akamhy.github.io/favicon.ico
|
|
|
|
https://akamhy.github.io/robots.txt
|
|
|
|
https://akamhy.github.io/waybackpy/
|
|
|
|
|
2021-01-24 11:45:11 +01:00
|
|
|
'akamhy.github.io-urls-iftor2.txt' saved in current working directory
|
2021-01-04 20:00:07 +01:00
|
|
|
```
|
2021-01-04 21:21:53 +01:00
|
|
|
> Full CLI documentation can be found at <https://github.com/akamhy/waybackpy/wiki/CLI-docs>.
|
2020-05-04 17:36:00 +02: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
|
|
|
|
2020-10-02 18:40:30 +02:00
|
|
|
Released under the MIT License. See
|
|
|
|
[license](https://github.com/akamhy/waybackpy/blob/master/LICENSE) for details.
|
2021-01-04 20:00:07 +01:00
|
|
|
|
|
|
|
|
|
|
|
-----------------------------------------------------------------------------------------------------------------------------------------------
|