A list of BEACONs scraped from https://de.wikipedia.org/wiki/Wikipedia:BEACON.
python -m venv .venv
.\.venv\Scripts\activate
pip install -r requirements.txtpython3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt- stores e.g.
BEACONlist_20251203-1653_scraped.jsonin/data/scraped
python src/makeBEACONlist.py- refine scraped list (!data model work in progress!) from
/data/scrapedinto e.g.BEACONlist_20251203-1653_refined.jsonin/data/refined
python src/refineBEACONlist.py- get some insights, by default uses the last files found in
/data/scrapedand/data/refined
python src/analyseBEACONlist.py- compares the latest 2 _refined.json from
/data/refined(e.g. added/removed/modified BEACONs) - only works/makes sense if you have done 2 scrapings (+ refined) locally
python src/compareBEACONlist.py- if you want to pick which files to compare:
python src/compareBEACONlist.py --pick- copies the latest files from
/data/scrapedand/data/refinedto...latestfolder => _refined.json will be base for aggregation
python src/latestBEACONlist.py{
"provider_type": "Bibliotheken, Verbünde, Archive",
"beacon_url": "http://www.bib-bvb.de/OpenData/beacon_bvb01.txt",
"beacon_name": "Titelaufnahmen des B3Kat",
"beacon_description": "Titelaufnahmen des B3Kat (gemeinsamer Verbundkatalog des BVB und des KOBV) (> 3.790.000 Einträge, Beispiel: Martin Schrettinger )",
"beacon_raw": "<li><a class=\"external text\" href=\"http://www.bib-bvb.de/OpenData/beacon_bvb01.txt\" rel=\"nofollow\">Titelaufnahmen des B3Kat</a> (gemeinsamer Verbundkatalog des BVB und des KOBV) (> 3.790.000 Einträge, Beispiel: <a class=\"external text\" href=\"https://bvbat01.bib-bvb.de/TP61/start.do?Language=De&Query=0100%3D%22%3FDE-588%3F117060275%22+IN+%5B1%5D\" rel=\"nofollow\">Martin Schrettinger</a>)</li>",
"beacon_alive": true,
"beacon_header": "#FORMAT: BEACON\n#PREFIX: http://d-nb.info/gnd/\n#TARGET: http://www.gateway-bayern.de/opensearch?rfr_id=LinkedOpenData%3ABeacon&rft.au=%28DE-588%29{ID}\n#VERSION: 0.2\n#FEED: http://www.bib-bvb.de/OpenData/beacon_bvb01.txt\n#INSTITUTION: Bayerische Staatsbibliothek - Bibliotheksverbund Bayern - Sachgebiet Verbundnahe Dienste\n#NAME: Titelaufnahmen des B3Kat\n#ISIL: DE-604\n#TIMESTAMP: Wed Mar 6 08:34:29 CET 2019"
}The type of the providing institution. There are different types of providers (e.g. libraries) of BEACONs.
The BEACON's URL.
The BEACON's name - i.e. the text value of the BEACON link.
A description. Name, institution, number of entries/entities, examples, date of last update, etc. - has many variations.
The raw HTML of the scraped list item.
Whether the BEACON URL itself is alive or dead. BEWARE: No statement about whether the BEACON is still functional (i.e. that links generated from a BEACON are still alive)!
The BEACON's header / meta data - i.e. the first lines at the top with a leading #. BEWARE: Cannot be retrieved automatically from all BEACONs!
Lists the first 10 links of a BEACON.
The type of the providing institution. There are different types of providers (e.g. libraries) of BEACONs.
The BEACON's URL.
The BEACON's name - i.e. the text value of the BEACON link.
A description. Name, institution, number of entries/entities, examples, date of last update, etc. - has many variations.
The raw HTML of the scraped list item.
Whether the BEACON URL itself is alive or dead. BEWARE: No statement about whether the BEACON is still functional (i.e. that links generated from a BEACON are still alive)!
The BEACON's header / meta data - i.e. the first lines at the top with a leading #. BEWARE: Cannot be retrieved automatically from all BEACONs!
The header fields as a JSON object (i.e. a conversion of beacon_header).
Lists the first 10 links of a BEACON.
beaccon_link_examples resolved to URLs.
The number of beacon_link_examples that did not throw an error - i.e. number of links that are alive, 0-10, should ideally be 10.