Programoversigter

Eksempel på programoversigt (PDF, XML)

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
Der er data for programoversigter startende fra 23. marts 1925 op til 1. januar 1984. Der er 200.268 poster for programoversigter i denne periode. (10. september 2014)

Programoversigterne er gemt i et databasesystem kaldet CHAOS.

API oversigt

CHAOS kan tilgås via tre dokumenterede API'er: Javascript biblioteket og PHP biblioteket til CHAOS kan desværre ikke bruges til at fremskaffe programoversigterne på nuværende tidspunkt. Vi vil her gennemgå hvordan du fremskaffer programoversigter vha. rå HTTP-kald.

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
En session er nu oprettet. Du skal bruge sessionens ID (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.
Specifikationen af datoformatet kan findes i Solr dokumentationen da CHAOS søger vha. Solr.

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
Her har vi indsat id'et fra den ønskede programoversigt i query-parametren, og vi får så XML med teksten fra OCR tilbage som resultat.