Skip to main content

dblp-webxml-parser

A lightweight Python library for parsing DBLP website XML pages.

⚠️ Note: This is NOT a parser for the DBLP XML database dump (dblp.xml.gz). This library parses the live XML pages served by the DBLP website (e.g., https://dblp.org/rec/xxx.xml).

Features

  • 🔍 RecordPageParser - Parse publication record pages (https://dblp.org/rec/xxx.xml)
  • 👤 PersonPageParser - Parse author/person pages (https://dblp.org/pid/xxx.xml)
  • 📚 VenuePageParser - Parse venue pages (https://dblp.org/db/xxx/index.xml)
  • 🪶 Zero dependencies - Uses only Python standard library
  • 🐍 Python 3.10+ - Modern Python with type hints

Installation

pip install dblp-webxml-parser

Quick Start

Parse a Publication Record

import urllib.request
from dblp_webxml_parser import RecordPageParser

# Fetch and parse a record page
url = "https://dblp.org/rec/conf/cvpr/HeZRS16.xml"
with urllib.request.urlopen(url) as response:
    xml_text = response.read().decode("utf-8")

record = RecordPageParser(xml_text)
print(f"Title: {record.title}")
print(f"Year: {record.year}")
print(f"Type: {record.type}")
print(f"Key: {record.key}")
print(f"Authors: {[a.name for a in record.authors]}")

Parse a Person Page

from dblp_webxml_parser import PersonPageParser

# Parse a person page
person = PersonPageParser(xml_text)
print(f"Name: {person.name}")
print(f"PID: {person.pid}")
print(f"Publications: {len(list(person.publications))}")

# Iterate over publications
for pub in person.publications:
    print(f"  - {pub.title} ({pub.year})")

Parse a Venue Page

from dblp_webxml_parser import VenuePageParser

# Parse a venue page (conference/journal)
venue = VenuePageParser(xml_text)
print(f"Venue: {venue.title}")

# Get all publications in this venue
for pub in venue.publications:
    print(f"  - {pub.title}")

API Reference

RecordPageParser

Parses record pages from https://dblp.org/rec/xxx.xml.

Property Type Description
key str | None DBLP paper key
type str Publication type (article, inproceedings, etc.)
title str | None Publication title
year int | None Publication year
month int | None Publication month
authors Iterator[RecordAuthor] Authors iterator
venue str | None Venue name (journal/booktitle/series)
venue_type str | None Venue type (journal/proceedings/book)
journal str | None Journal name
booktitle str | None Book/proceedings title
volume str | None Volume number
number str | None Issue number
pages str | None Page range
ees Iterator[str] Electronic edition URLs
url str | None DBLP URL
crossref str | None Crossref key

RecordAuthor

Author information from a record.

Property Type Description
name str | None Author name
pid str | None DBLP person ID
orcid str | None ORCID identifier

PersonPageParser

Parses person pages from https://dblp.org/pid/xxx.xml.

Property Type Description
pid str | None DBLP person ID
name str | None Primary name
names Iterator[str] All name variants
publications Iterator[RecordParser] Publications iterator

VenuePageParser

Parses venue pages from https://dblp.org/db/xxx/index.xml.

Property Type Description
title str | None Venue title
publications Iterator[RecordParser] Publications iterator

Comparison with Other Tools

Tool Purpose
dblp-webxml-parser (this) Parse live XML pages from DBLP website
dblp-parser Parse the DBLP XML database dump file

License

MIT License - see LICENSE for details.

Metadata

Release files for dblp-webxml-parser 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dblp-webxml-parser 0.1.0
File Size Uploaded Provenance
dblp_webxml_parser-0.1.0.tar.gz 12.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for dblp-webxml-parser 0.1.0
File Interpreter ABI Platform
dblp_webxml_parser-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 20.8 kB

Release files / dblp_webxml_parser-0.1.0.tar.gz

Download URL dblp_webxml_parser-0.1.0.tar.gz
Size 12.1 kB
Tags Source
SHA-256 checksum
How to use checksums
ba864148ba6381b277d2b7594ca6704af297b36a03f936076fb1961c02040058
BLAKE2b-256 checksum
How to use checksums
4d2586860c87cc279925fa6943ad86a9b26359e8928faf5bb6fc45eb8182f0f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release files / dblp_webxml_parser-0.1.0-py3-none-any.whl

Download URL dblp_webxml_parser-0.1.0-py3-none-any.whl
Size 8.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4f3afa69e3c32bc21fc523660169d23343f4c191efe1d8c4fb957e8307c694cd
BLAKE2b-256 checksum
How to use checksums
388501f0f8b130af2537bba0456f776280fcbd60e91b5f7ee1a1dfc413f4d8c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Security for dblp-webxml-parser 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page