Skip to content

Commit

Permalink
v3.0.4 (#160)
Browse files Browse the repository at this point in the history
* Update README.md

* Update README.md

* update asciinema link

* v3.0.4

* update video link
  • Loading branch information
akamhy authored Feb 18, 2022
1 parent 4b218d3 commit 2650943
Show file tree
Hide file tree
Showing 3 changed files with 90 additions and 22 deletions.
108 changes: 88 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,28 +84,68 @@ False
datetime.datetime(2022, 1, 18, 12, 52, 49)
```

#### Availability API
#### CDX API aka CDXServerAPI

```python
>>> from waybackpy import WaybackMachineAvailabilityAPI
>>>
>>> from waybackpy import WaybackMachineCDXServerAPI
>>> 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/
>>> user_agent = "my new app's user agent"
>>> cdx_api = WaybackMachineCDXServerAPI(url, user_agent)
```

#### CDX API aka CDXServerAPI

##### 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"
Expand All @@ -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 <https://github.com/akamhy/waybackpy/wiki/Python-package-docs>.
### 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 <https://github.com/akamhy/waybackpy/wiki/CLI-docs>.
Expand Down
2 changes: 1 addition & 1 deletion waybackpy/__init__.py
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion waybackpy/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down

0 comments on commit 2650943

Please sign in to comment.