Skip to main content

CDXJ Indexer for WARC and ARC files

Project description

CDXJ Indexer

A command-line tool for generating CDXJ (and CDX) indexes from WARC and ARC files. The indexer is a new tool redesigned for fast and flexible indexing. (Based on the indexing functionality from pywb)

Install with pip install cdxj-indexer or install locally with python setup.py install

The indexer supports classic CDX index format as well as the more flexible CDXJ. With CDXJ, the indexer supports custom fields and request record access for WARC files. See the examples below and the command line -h option for latest features. (This is a work in progress).

Usage examples

Generate CDXJ index:

> cdxj-indexer /path/to/archive-file.warc.gz
com,example)/ 20170730223850 {"url": "http://example.com/", "mime": "text/html", "status": "200", "digest": "G7HRM7BGOKSKMSXZAHMUQTTV53QOFSMK", "length": "1219", "offset": "771", "filename": "example-20170730223917.warc.gz"}

CDX Index (11 field):

> cdxj-indexer -11 /path/to/archive-file.warc.gz
CDX N b a m s k r M S V g
com,example)/ 20170730223850 http://example.com/ text/html 200 G7HRM7BGOKSKMSXZAHMUQTTV53QOFSMK - - 1219 771 example-20170730223917.warc.gz

More advanced use cases: add additional http headers as fields. http: prefix specifies current record headers, while req.http: specifies corresponding request record headers. The following adds the Date, Referer headers, and the request method to the index:

> cdxj-indexer -f req.http:method,http:date,req.http:referer /path/to/archive-file.warc.gz
com,example)/ 20170801032435 {"url": "http://example.com/", "mime": "text/html", "status": "200", "digest": "A6DESOVDZ3WLYF57CS5E4RIC4ARPWRK7", "length": "1207", "offset": "834", "filename": "temp-20170801032445.warc.gz", "req.http:method": "GET", "http:date": "Tue, 01 Aug 2017 03:24:35 GMT", "referrer": "https://webrecorder.io/temp-NU34HBNO/temp/recording-session/record/http://example.com/"}
org,iana)/domains/example 20170801032437 {"url": "http://www.iana.org/domains/example", "mime": "text/html", "status": "302", "digest": "RP3Y66FDBYBZKSFYQ4VJ4RMDA5BPDJX2", "length": "675", "offset": "2652", "filename": "temp-20170801032445.warc.gz", "req.http:method": "GET", "http:date": "Tue, 01 Aug 2017 02:35:05 GMT", "referrer": "http://example.com/"}

The CDXJ Indexer extends the Indexer functionality in warcio and should be flexible to extend.

Project details


Download files

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

Source Distribution

cdxj_indexer-1.4.6.tar.gz (19.0 kB view details)

Uploaded Source

Built Distribution

cdxj_indexer-1.4.6-py2.py3-none-any.whl (15.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file cdxj_indexer-1.4.6.tar.gz.

File metadata

  • Download URL: cdxj_indexer-1.4.6.tar.gz
  • Upload date:
  • Size: 19.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.21

File hashes

Hashes for cdxj_indexer-1.4.6.tar.gz
Algorithm Hash digest
SHA256 7606d0c3eeba530323f6fafa62647c74c86ddefdca1edffa2d9d303388112238
MD5 2611c92414704fd14b7e26cda381c71d
BLAKE2b-256 efb101fd5e8316cdfca178e951ba554309b9fe20910328039ca03830d7ca11ac

See more details on using hashes here.

File details

Details for the file cdxj_indexer-1.4.6-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for cdxj_indexer-1.4.6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 91ff88e0ca8f39f9e772ccfb6e3d245344b8e80db04cca5e88f184f8cbbd6604
MD5 00cab0a6ccc737708f48ec9dc8862c5a
BLAKE2b-256 ea57b2489ba52732906a1ec59c0a852ce35f806a5afe2d4e5c83c3f407e44891

See more details on using hashes here.

Supported by

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