wayback

module
v0.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 9, 2023 License: MIT

README

Wayback Machine API clients

Wayback Availability JSON API

https://archive.org/help/wayback_api.php

package main

import (
	"context"
	"fmt"
	"log"

	"github.com/electrologue/wayback/json"
)

func main() {
	client := json.New()

	apiResponse, err := client.Available(context.Background(), "*.example.com", "")
	if err != nil {
		log.Fatal(err)
	}

	fmt.Printf("%#v\n", apiResponse)
}

Wayback CDX Server API

https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server

package main

import (
	"context"
	"fmt"
	"log"
	"strings"

	"github.com/electrologue/wayback/cdx"
)

func main() {
	client := cdx.New()

	domain := "*.example.com"

	opts := &cdx.APIOptions{
		Output:    "json",
		Fields:    []string{"urlkey", "timestamp", "original", "mimetype", "statuscode", "digest", "length"},
		Limit:     4,
	}

	body, err := client.Do(context.Background(), domain, opts)
	if err != nil {
		log.Fatal(err)
	}

	items, err := cdx.ParseJSON(body)
	if err != nil {
		log.Fatal(err)
	}

	for _, item := range items {
		if strings.Contains(item.URLKey, `"`) {
			continue
		}

		fmt.Printf("%#v\n", item)
	}
}

Directories

Path Synopsis
Package cdx Wayback CDX Server API.
Package cdx Wayback CDX Server API.
Package json Wayback Availability JSON API.
Package json Wayback Availability JSON API.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL