Baggrund
I forbindelse med Dansk Kulturarv-projektet og LARM.fm, er DR’s historiske programoversigter blevet digitaliseret og OCR-behandlet. Dvs. at der kan fremskaffes, vha. API'et beskrevet her- et billede af programoversigten (PDF)
- og teksten fremkommet ved OCR behandling af scanningen
Programoversigterne er gemt i et databasesystem kaldet CHAOS.
API oversigt
CHAOS kan tilgås via tre dokumenterede API'er:- Rå HTTP-kald til CHAOS (Dokumentation)
- CHAOS' Javascript bibliotek (Dokumentation)
- CHAOS' PHP bibliotek (Dokumentation, Github)
Rå HTTP kald
1. Opret en session
For at bruge CHAOS skal du starte en session. Dette kan gøres med følgende kald:http://api.larm.fm/v6/Session/Create
Link
sessionGUID
), der er gemt følgende sted i dataen:
<PortalResult>
<ModuleResults>
<ModuleResult Fullname="Portal">
<Results>
<Result>
<Guid> HER </Guid>
Som standard vil du få XML-data tilbage. Hvis du foretrækker JSON, kan
du tilføje GET-parametren "format=json" til URL'en:
http://api.larm.fm/v6/Session/Create?format=json
Link
2. Søg efter programoversigter
Du kan søge efter programoversigter på følgende URL:http://api.larm.fm/v6/View/Get?
view=Search
&sort=PubStartDate%2Bdesc
&filter=%28Type%3ASchedule%20OR%20Type%3AScheduleNote%29
&pageIndex=0
&pageSize=20
&sessionGUID=049da351-b81f-424e-82c4-1162926d3688
&format=xml2
&userHTTPStatusCodes=False
Link
Med ovenstående kald får vi alle programoversigter tilbage, og vi kan se i TotalCount
elementet, at
der er i alt 200.268 poster (aflæst d. 10. september 2014) og fra Count
kan det ses at 20 af
disse blev returneret. Dette sker fordi "pageSize" parametren er sat til
20, så der maksimalt bliver returneret 20 resultater per side.
Dvs. der i dette tilfælde vil være i alt 10.014 sider for dette resultat. Indekseringen starter på 0 så sidste side kan fremskaffes ved at sætte pageIndex
-parametren til 10013
Tidsafgrænset søgning
Her søges der efter alle programoversigter mellem 1. og 30. maj 1982.http://api.larm.fm/v6/View/Get?
view=Search
&sort=PubStartDate%2Bdesc
&filter=%28
PubStartDate:[1982-05-01T00:00:00Z%20TO%201982-05-30T00:00:00Z]%20
AND%20
%28Type%3ASchedule%20OR%20Type%3AScheduleNote%29%29
&pageIndex=0
&pageSize=20
&sessionGUID=049da351-b81f-424e-82c4-1162926d3688
&format=xml2
&userHTTPStatusCodes=False
Link
I filter
-parametren er indsat værdien
(PubStartDate:[1982-05-01T00:00:00Z TO 1982-05-30T00:00:00Z] AND (Type:Schedule OR Type:ScheduleNote))
hvor
(Type:Schedule OR Type:ScheduleNote)
begrænser søgningen til programoversigter.PubStartDate:[1982-05-01T00:00:00Z TO 1982-05-30T00:00:00Z]
angiver at vi søger efter programoversigter mellem 1. og 30. maj 1982.
I resultatet skal du især lægge mærke til Id
elementet i resultaterne.
Får at få fat i teksten fra OCR-behandlingen, skal du bruge dette id.
<PortalResponse>
<Body>
<Results>
<SearchViewData>
<Id> GUID STÅR HER </Id>
3. Skaf en enkelt programoversigt
Når du har fundet den programoversigt du ønsker, kan du fremskaffe den indskannede PDF og den tilhørende tekst fra OCR-behandlingen ved følgende kald:http://api.larm.fm/v6/View/Get?
view=Object
&query=5cc96f84-91f9-f943-b803-7428f5833937
&pageIndex=0
&pageSize=20
&sessionGUID=049da351-b81f-424e-82c4-1162926d3688
&format=xml2
&userHTTPStatusCodes=False
Link
query
-parametren, og vi får så XML med teksten fra OCR tilbage som resultat.