From 2650943f9dc4684365e6f0768a6ce5ec7fbbbae6 Mon Sep 17 00:00:00 2001 From: Akash Mahanty Date: Fri, 18 Feb 2022 16:05:58 +0530 Subject: [PATCH] v3.0.4 (#160) * Update README.md * Update README.md * update asciinema link * v3.0.4 * update video link --- README.md | 112 +++++++++++++++++++++++++++++++++--------- waybackpy/__init__.py | 2 +- waybackpy/cli.py | 2 +- 3 files changed, 92 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 69b2c3e..b60a541 100644 --- a/README.md +++ b/README.md @@ -84,28 +84,68 @@ False datetime.datetime(2022, 1, 18, 12, 52, 49) ``` -#### Availability API - -```python ->>> 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 +```python +>>> from waybackpy import WaybackMachineCDXServerAPI +>>> url = "https://google.com" +>>> user_agent = "my new app's user agent" +>>> cdx_api = WaybackMachineCDXServerAPI(url, user_agent) +``` +##### oldest +```python +>>> cdx_api.oldest() +com,google)/ 19981111184551 http://google.com:80/ text/html 200 HOQ2TGPYAEQJPNUA6M4SMZ3NGQRBXDZ3 381 +>>> oldest = cdx_api.oldest() +>>> oldest +com,google)/ 19981111184551 http://google.com:80/ text/html 200 HOQ2TGPYAEQJPNUA6M4SMZ3NGQRBXDZ3 381 +>>> oldest.archive_url +'https://web.archive.org/web/19981111184551/http://google.com:80/' +>>> oldest.original +'http://google.com:80/' +>>> oldest.urlkey +'com,google)/' +>>> oldest.timestamp +'19981111184551' +>>> oldest.datetime_timestamp +datetime.datetime(1998, 11, 11, 18, 45, 51) +>>> oldest.statuscode +'200' +>>> oldest.mimetype +'text/html' +``` +##### newest +```python +>>> newest = cdx_api.newest() +>>> newest +com,google)/ 20220217234427 http://@google.com/ text/html 301 Y6PVK4XWOI3BXQEXM5WLLWU5JKUVNSFZ 563 +>>> newest.archive_url +'https://web.archive.org/web/20220217234427/http://@google.com/' +>>> newest.timestamp +'20220217234427' +``` +##### near +```python +>>> near = cdx_api.near(year=2010, month=10, day=10, hour=10, minute=10) +>>> near.archive_url +'https://web.archive.org/web/20101010101435/http://google.com/' +>>> near +com,google)/ 20101010101435 http://google.com/ text/html 301 Y6PVK4XWOI3BXQEXM5WLLWU5JKUVNSFZ 391 +>>> near.timestamp +'20101010101435' +>>> near.timestamp +'20101010101435' +>>> near = cdx_api.near(wayback_machine_timestamp=2008080808) +>>> near.archive_url +'https://web.archive.org/web/20080808051143/http://google.com/' +>>> near = cdx_api.near(unix_timestamp=1286705410) +>>> near +com,google)/ 20101010101435 http://google.com/ text/html 301 Y6PVK4XWOI3BXQEXM5WLLWU5JKUVNSFZ 391 +>>> near.archive_url +'https://web.archive.org/web/20101010101435/http://google.com/' +>>> +``` +##### snapshots ```python >>> from waybackpy import WaybackMachineCDXServerAPI >>> url = "https://pypi.org" @@ -123,13 +163,41 @@ https://web.archive.org/web/20171127171549/https://pypi.org/ https://web.archive.org/web/20171206002737/http://pypi.org:80/ ``` +#### Availability API + +It is recommended to not use the availability API due to performance issues. All the methods of availability API interface class, `WaybackMachineAvailabilityAPI`, are also implemented in the CDX server API interface class, `WaybackMachineCDXServerAPI`. + +```python +>>> 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) +``` +##### oldest +```python +>>> availability_api.oldest() +https://web.archive.org/web/19981111184551/http://google.com:80/ +``` +##### newest +```python +>>> availability_api.newest() +https://web.archive.org/web/20220118150444/https://www.google.com/ +``` +##### near +```python +>>> availability_api.near(year=2010, month=10, day=10, hour=10) +https://web.archive.org/web/20101010101708/http://www.google.com/ +``` + > Documentation is at . ### As a CLI tool -Demo video on [asciinema.org](https://asciinema.org), you can copy the text from video: +Demo video on [asciinema.org](https://asciinema.org/a/469890), you can copy the text from video: -[![asciicast](https://asciinema.org/a/464367.svg)](https://asciinema.org/a/464367) +[![asciicast](https://asciinema.org/a/469890.svg)](https://asciinema.org/a/469890) > CLI documentation is at . diff --git a/waybackpy/__init__.py b/waybackpy/__init__.py index 98cba3d..1f4661a 100644 --- a/waybackpy/__init__.py +++ b/waybackpy/__init__.py @@ -1,6 +1,6 @@ """Module initializer and provider of static information.""" -__version__ = "3.0.3" +__version__ = "3.0.4" from .availability_api import WaybackMachineAvailabilityAPI from .cdx_api import WaybackMachineCDXServerAPI diff --git a/waybackpy/cli.py b/waybackpy/cli.py index 7342fd4..96d6445 100644 --- a/waybackpy/cli.py +++ b/waybackpy/cli.py @@ -379,7 +379,7 @@ def main( # pylint: disable=no-value-for-parameter Documentation: https://github.com/akamhy/waybackpy/wiki/CLI-docs - waybackpy - CLI usage(Demo video): https://asciinema.org/a/464367 + waybackpy - CLI usage(Demo video): https://asciinema.org/a/469890 Released under the MIT License. Use the flag --license for license.