Inledning
De tre zip-filerna innehåller samtliga sessionerfrån CEW under november, inalles 1661 st. Men de är förpackade på lite olika sätt så du har full frihet att greja med innehållet och testa olika tekniker för att få ut datat.
Länkar till filerna är:
https://malleus.se/dl/CEW2411TXT.zip (1.5 GB)
https://malleus.se/dl/CEW2411ZIP.zip (1.5 GB)
https://malleus.se/dl/CEW2411WEB.zip (1.6 GB)
https://malleus.se/dl/OSEPROGS.zip (8 kB)
https://malleus.se/dl/README.txt (den här texten, 5 kB)
OSEPROGS.zip
innehåller en radda program och script jag hackat ihop för
att hantera OSE-datat, extrahera data, skapa kataloger, trolla med XML
etc. De är inte skrivna för att begripas av andra men jag skickar med
dem med förhoppningen att de är till någon nytta för att se hur man kan
göra (alt. inte skall göra…).
Den som skapar sessioneskatalogerna med index.html och metadataa.txt heter osezip2webdir.py och är kommenterad. Basic Python, men lång.
CEW2411TXT
CEW2411TXT.zip
innehpåller uppackat data som det ser ut på verket.
Innehållet är XML-filer egen katalog “XML” och genrerade textfiler i
“TXT” samt, vernakular och andra bilagor direkt under CEW-katalogen i
en stor hög. Inte helt lätt att hitta i om man letar efter något
specifik, det är så många filer. Men väldigt bra om man bara vill
browsa dem med Windows Explorer och Preview.
CEW2411TXT.zip (1544930339 bytes) 2024/CEW/ |__ VernacularXYZ.pdf |__ MonthlySummary.docx |__ screenshot01.jpg |__ XML/ |__ 0d0db-102bd-02dah-12345-12345.xml |__ ... |__ TXT/ |__ CEW20241101nnnnnnn_V1_andAveryLongName01.txt |__ CEW20241102nnnnnnn_V1_andAnotherVeryLongName02.txt |__ ...
CEW2411ZIP
I filen CEW2411ZIP.zip
ligger OSE:s zip-filer från CEW för november
precis som de ser ut när de kommer från bucketen. Det är filer med
långa namn, sessions-id, versionsbeteckning och löpnummer, inalles 1661
stycken filer.
CEW2411ZIP.zip (1542309997 bytes) |__ CEW202411MMDDnnnnnnnn_V1_nnnnnnnn.zip |__ CEW202411MMDDnnnnnnnn_V1_nnnnnnnn.zip |__ CEW202411MMDDnnnnnnnn_V1_nnnnnnnn.zip |__ CEW202411MMDDnnnnnnnn_V1_nnnnnnnn.zip |__ ...
Innehållet i OSE:s zip-filer ligger INTE i kataloger, packar man upp dem så hamnar allt innehåll där man står. Det kan vara problematiskt, då vissa verknikular och bilder har samma namn i olika arkiv, t.ex. “screenshot.jpg” eller “transcription.pdf”.
CEW2411WEB
I filen CEW2411WEB.zip
finns alla arkivfiler från november lagrade på
vad jag försökt få både “webbvänligt” och “kommandoradssökvänligt”
sätt: uppackade i kataloger med samma namn som sessions-id
(CEW2024MMDDxxxxxxxxxx), också totalt 1661 st.
CEW2411WEB.zip (1623070781 bytes) |__ CEW202411MMDDnnnnnnnn/ |__ 0d0db-102bd-02dah-12345-12345.xml |__ Vernacular2411DD.pdf |__ screenshot.jpg |__ ... |__ ... |__ index.html |__ metadata.txt
I den sessionskatalogen finns hela innehållet i arkivfilen: XML-fil, vernikular, mediafiler, dokument; vad som nu följde med.
HTML-filen
Där finns också HTML-blobben från <text>-taggen i XML-filen. Den har samma namn i alla sessions-kataloger, den heter alltid “index.html”.
Det beror på att dels att OSI inte specificerar något särskilt namn för den, och dels för att när en webbserver delar ut innehållet i en katalog, så visas automatiskt filen “index.html” först, om den finns.
HTML-filen har all text på en rad så den är enkelt sökbar. Man får ju träff på söksträngar i texten även om den är omgärdad av HTML. (Med vissa begränsningar om det finns en massa formattering i HTML-koden. Men i OSE:s fall gör det sällan det, de använder standardelement (mestadels <p> och <h6>.)
Metadata
I sessionskatalogen finns också en fil metadata.txt
som extraheras ur
XML-filen när sessionskatalogerna skapas. Den innehåller alla metadata
från XML-filen, en per rad så den blir lätt att söka i.
Sökexempel i nya strukturen, med metadata.txt
Alla sessioner för november som har topic:TECHNOLOGY
ochinnehåller
optic
. (Täcker även “fibre optic” och “fibre optics”.)
Här har vi en for-loop som tar alla sessionsnamn som ger träff på
topic:TECHNOLOGY
och söker i deras index.html-filer efter ordet
“optic”.
for f in $(grep -F -l topic:TECHNOLOGY CEW202411*/metadata.txt); \ do grep -F -l optic $(dirname $f)/index.html; done
Obs att raden är bruten, men \ “escapes the newline” så det skall läsas som en hel rad. Ge akt på parenteser och semikolon!
Första grep-kommandot letar i metadatafilerna. Blir det träff så skrivs katalog och filnamn ut (grep -l).
Formen $(…) tar outputen från kommandot inom parenteserna och skriver det som en radda strängar till for-loopen att snurra igenom. Variabeln “f” sätts till en av dessa strängar åt gången.
Kommandot dirname plockar bort filnamnet i en sökväg och returnerar katalogdelen. (Testa “dirname /path/to/filename”). Värdet av variabeln f skrivs $f. Formen $(…) kör kommandot inne i parenteserna.
Det andra grep-kommandot letar nu i HTML-filerna efter ordet “optic”. Det kommer att blir tre fräffar. Sessionskatalogen och HTML-filen skrivs ut:
CEW2024110842358998/index.html CEW2024111446272335/index.html CEW2024111948807238/index.html
och antingen läsas, eller som det egentligen är tänkt, matas till en browser. HTML-filen länkar ju allt övrigt innehåll från sessionen; vernakular och bilder etcetera. Det är enklare att kika på dem via browsern.