Skip to main content

Wayback Machine

This project is an envelope for simple fetching of historical versions of page from archive.org API.

The page can be used for subsequent webscraping

Setup and usage

Install from pip with

pip install waybackmachine

Simple usage of the WaybackMachine class is as

from waybackmachine import WaybackMachine

url = "https://www.gov.pl/web/koronawirus/wykaz-zarazen-koronawirusem-sars-cov-2"
for response,version_time in WaybackMachine(url):
    # process response
    pass

The iterated version goes from newest to the older and older version all the way to end date at given step of date axis for querying the archive.

Returned are

  • response = response object from requests
  • version_time = datetime of the version

Update of package is done with

pip install --upgrade waybackmachine

Start, end and step configuration

Library enables setting of start date, end date and step size as timedelta.

Since iterating is done backwards in time, end date precedes start date!

Setting the querying for weekly from 1st May back to 1st February 2020 is done with

from datetime import datetime,timedelta
from waybackmachine import WaybackMachine

url = "https://www.liu.se/"
for response,version_time in WaybackMachine(url, start = datetime(2020,5,1), end = datetime(2020,2,1), step = timedelta(days = 7)):
    # process response
    pass

The date can be also specified one of following string formats:

  • %Y-%m-%d
  • %Y-%m-%d %H:%M
  • %Y-%m-%d %H:%M:%S
for response,version_time in WaybackMachine(url, start = "2020-05-01", end = "2020-02-01", step = timedelta(days = 7)):
    # process response
    pass

String representation of timedelta will be added.

Current version

If start is None, the looup will start with fetching current page (not from archive).

To avoid this behavior, manually set start = datetime.datetime.now().

Configurations

On frequent use-cases, custom configurations of parameters are added to the packages.

These consist of default parameter values.

So far following configurations are available:

  • default - start is now(), end is beginning of year of start (hence length can be 0 - 365 days), 1 day step
  • covid - start is now() (might be changed, if covid disappears), end is 2020-01-01, COVID-19 spread into the world after. In China the COVID-19 has already occurred before!. Step is 12 h.

Contribution

Developed by Martin Benes.

Join on GitHub.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

waybackmachine-0.2.0.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

waybackmachine-0.2.0-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file waybackmachine-0.2.0.tar.gz.

File metadata

  • Download URL: waybackmachine-0.2.0.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.3rc1

File hashes

Hashes for waybackmachine-0.2.0.tar.gz
Algorithm Hash digest
SHA256 74b7daa2f0ee47cd4853663cadf3313a5a22200dc36345391ba957f61aa9bb9f
MD5 24ef8649dc0a656af74cc725897faa7e
BLAKE2b-256 6a8bc989518b2c445eccb1c84f5375174859726a69dfce3e47839a742d73ed76

See more details on using hashes here.

File details

Details for the file waybackmachine-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: waybackmachine-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 5.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.3rc1

File hashes

Hashes for waybackmachine-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2600177a63eac1ab49853903573d2444a2ec5d6fed09313a74a93da4113da7dd
MD5 d397eb6dda238d4aef94c89d560e3de8
BLAKE2b-256 8163695f2e5cd6ad21a5a6fd1dd6df718f4907be58d254216a48747aa392badc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page