Avatar billede dj-sejler Praktikant
15. maj 2005 - 19:05 Der er 15 kommentarer og
1 løsning

tv oversigt

Hej...

jeg undrede mig lidt over hvor man får de oplysninger som alle de sider med tv oversigt har...

er der nogen der kan hjælpe med det?
Avatar billede jakobclausen Nybegynder
15. maj 2005 - 19:10 #1
Det får man fra tv stationerne. Jeg har f.eks. en tv-oversigt liggende lokalt på mit skrivebord, som jeg kan kører og få et overblik over hvad der kommer.

- - - - -
<HTML>
<HEAD>
<TITLE>Tv Oversigt</TITLE>
</HEAD>
    <FRAMESET border=1 frameBorder=YES frameSpacing=0 rows=*,*>
    <FRAMESET border=1 frameBorder=YES frameSpacing=0 cols=*,*,*,*,*>
        <FRAME marginHeight=0 marginWidth=0 src="http://tv.tv2.dk/tv/listning.php?Region=1&KanalID=3&Soegeord=&Dato=0&Periode=2&Kategori=0">
        <FRAME marginHeight=0 marginWidth=0 src="http://tv.tv2.dk/tv/listning.php?Region=1&KanalID=1&Soegeord=&Dato=0&Periode=2&Kategori=0">
        <FRAME marginHeight=0 marginWidth=0 src="http://tv.tv2.dk/tv/listning.php?Region=1&KanalID=6&Soegeord=&Dato=0&Periode=2&Kategori=0">
        <FRAME marginHeight=0 marginWidth=0 src="http://tv.tv2.dk/tv/listning.php?Region=1&KanalID=5&Soegeord=&Dato=0&Periode=2&Kategori=0">

        <FRAME marginHeight=0 marginWidth=0 src="http://tv.tv2.dk/tv/listning.php?Region=1&KanalID=7&Soegeord=&Dato=0&Periode=2&Kategori=0">
    </FRAMESET>
    <FRAMESET border=1 frameBorder=YES frameSpacing=0 cols=*,*,*,*,*>
        <FRAME marginHeight=0 marginWidth=0 src="http://tv.tv2.dk/tv/listning.php?Region=1&KanalID=8&Soegeord=&Dato=0&Periode=2&Kategori=0">
        <FRAME marginHeight=0 marginWidth=0 src="http://tv.tv2.dk/tv/listning.php?Region=1&KanalID=2&Soegeord=&Dato=0&Periode=2&Kategori=0">
        <FRAME marginHeight=0 marginWidth=0 src="http://tv.tv2.dk/tv/listning.php?Region=1&KanalID=4&Soegeord=&Dato=0&Periode=2&Kategori=0">
        <FRAME marginHeight=0 marginWidth=0 src="http://tv.tv2.dk/tv/listning.php?Region=1&KanalID=13&Soegeord=&Dato=0&Periode=2&Kategori=0">
        <FRAME marginHeight=0 marginWidth=0 src="http://tv.tv2.dk/tv/listning.php?Region=1&KanalID=149&Soegeord=&Dato=0&Periode=2&Kategori=0">
    </FRAMESET>

    </FRAMESET><noframes></noframes>
</HTML>
- - - - -
Avatar billede jakobclausen Nybegynder
15. maj 2005 - 19:12 #2
NB! Det er meget muligt at man skal have en form for tilladelse, hvis dette bruges på en hjemmeside.
Avatar billede dj-sejler Praktikant
15. maj 2005 - 19:14 #3
jeg tænkte ligsom sider som www.tvguiden.dk
hvor der jo har deres eget design og sådan...
Avatar billede jakobclausen Nybegynder
15. maj 2005 - 19:16 #4
Jeg tror det kører som en webservice, som de køber sig adgang til og derefter tilpasser med eget design.
Avatar billede dj-sejler Praktikant
15. maj 2005 - 19:16 #5
Avatar billede jakobclausen Nybegynder
15. maj 2005 - 19:27 #6
Samurize er et program der kan bruges til at designe dit egen skrivebord (på computeren), hertil kan man bl.a. hente et vb-script der henter de danske oversigter, og  de må lige ledes kunne bruges på web (ved ikke hvordan).

http://www.samurize.com/modules/mydownloads/visit.php?cid=10&lid=61
Avatar billede olebole Juniormester
15. maj 2005 - 20:47 #7
<ole>

Jeg 'har hørt', der findes et lille - ikke helt billigt - Delphi-program, der er skrevet specielt til at screen-scrape TV2's oversigt. Selvom et site med TV-oversigter ser rimelig professionelt ud, behøver det absolut ikke gøre brug af en legal webservice  ;o)

Selvom det jo altid tiltrækker ekstra opmærksomhed, når en dansk statsborger registrerer et domæne, der udelukkende skal servicere danskere, i udlandet - og selvom netop det er tilfældet med tvguiden.dk - skal jeg undlade at gætte på noget lusk i den retning  :)

/mvh
</bole>
Avatar billede bigo Nybegynder
15. maj 2005 - 20:52 #8
Hvad med bare at gå på ontv.dk ?
Avatar billede webcreator Nybegynder
15. maj 2005 - 22:03 #9
Hej.

Det de fleste gør, er at hente TV2s kode, og "parse" den. Dvs. analyse og hente de relevante data ud. Det er også sådan Samurize gør. Jeg har selv lavet et par parsere, og det er faktisk ret simpelt. Man ser koden igennem, og finder nogle ting man kan søge efter for at positionere sig i forhold til data. Dette henter man så ud ved at kende længden eller slutpositioner på dataene - sådan i korte træk.
Avatar billede olebole Juniormester
17. maj 2005 - 01:07 #10
- og det er forrygende ulovligt at anvende de derved fundne data til noget på WWW. Det er langt værre end at downloade en piratkopi af et program eller musikstykke  ;o)

bigo >> Ja, ontv.dk ligner også noget, der er klampet sammen af en eller anden nasserøv, der snylter på TV2 ... men vedkommende får forhåbentlig på et tidspunkt en regning, der er til at få øje på  :)
Der er desværre mange af den slags fatasiforladte tabere, der ikke selv har noget at byde på - og derfor slår plat på andres arbejde. Den, der står bag ontv.dk, har sågar ikke meget at byde på, hvad angår helt elementær HTML/CSS  :o|

Naturligvis kan jeg ikke være 100% sikker på, indholdet på ontv.dk er lavet ved screen-scraping, men det er der en hel del, der tyder på.
Avatar billede dugi Nybegynder
17. maj 2005 - 09:48 #11
Jeg har lavet en der viser nuværende program hvis det var noget:
www.dugi.1go.dk/hosting/TV-Guide/

Koden kan du få her:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html>
<head>
<title>TV-Guide</title>
</head>

<body>
<table style="width: 203px; height: 96px\" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td style="width: 203px; font-family: Tahoma; font-size: 15px; color: #000000; font-weight: bold">TV lige nu</td>
  </tr>
  <tr>
    <td style="width: 203px; height: 5px"></td>
  </tr>
  <tr>
    <td style="width: 203px">
    <table style="width: 203px; height: 96px\" border="0" cellspacing="0" cellpadding="0">
<?php
$insideitem = false;
$tag = "";
$title = "";
$description = "";
$link = "";
$pubdate = "";

function startendetag($parser, $name, $attrs)
{
  global $insideitem, $tag, $title, $description, $link, $pubdate;

  if ($insideitem)
  {
    $tag = $name;
  }
  elseif ($name == "ITEM")
  {
    $insideitem = true;
  }
}

function afslutendetag($parser, $name)
{
  global $insideitem, $tag, $title, $description, $link, $pubdate;
  if ($name == "ITEM")
  {
    $title = str_replace("&nbsp;","",$title);

    if (substr($title, 0, 5) == "[DR1]")
    {
      print "
    <tr>
      <td width=\"24\" height=\"20\"><img src=\"images/dr1.png\" width=\"20\" height=\"20\" title=\"DR1\"></td>
      <td width=\"179\" style=\"font-family: Tahoma; font-size: 10px; color: #000000\">".substr($pubdate, 30, 5)." - ".substr(htmlspecialchars(trim($title)), 6)."</td>
    </tr>
  ";
    }
    elseif (substr($title, 0, 5) == "[TV2]")
    {
      print "
    <tr>
      <td width=\"24\" height=\"20\" bgcolor=\"#F5F5F5\"><img src=\"images/tv2.png\" width=\"20\" height=\"20\" title=\"TV2\"></td>
      <td width=\"179\" style=\"font-family: Tahoma; font-size: 10px; color: #000000\" bgcolor=\"#F5F5F5\" align=\"left\">".substr($pubdate, 30, 5)." - ".substr(htmlspecialchars(trim($title)), 6)."</td>
    </tr>
  ";
    }
    elseif (substr($title, 0, 5) == "[TV3]")
    {
      print "
    <tr>
      <td width=\"24\" height=\"20\"><img src=\"images/tv3.png\" width=\"20\" height=\"20\" title=\"TV3\"></td>
      <td width=\"179\" style=\"font-family: Tahoma; font-size: 10px; color: #000000\">".substr($pubdate, 30, 5)." - ".substr(htmlspecialchars(trim($title)), 6)."</td>
    </tr>
  ";
    }
    elseif (substr($title, 0, 6) == "[TV3+]")
    {
      print "
    <tr>
      <td width=\"24\" height=\"20\" bgcolor=\"#F5F5F5\"><img src=\"images/tv3plus.png\" width=\"20\" height=\"20\" title=\"DR1\"></td>
      <td width=\"179\" style=\"font-family: Tahoma; font-size: 10px; color: #000000\" bgcolor=\"#F5F5F5\">".substr($pubdate, 30, 5)." - ".substr(htmlspecialchars(trim($title)), 7)."</td>
    </tr>
  ";
    }
    elseif (substr($title, 0, 12) == "[TV Danmark]")
    {
      print "
    <tr>
      <td width=\"24\" height=\"20\"><img src=\"images/tvdanmark.png\" width=\"20\" height=\"20\" title=\"DR1\"></td>
      <td width=\"179\" style=\"font-family: Tahoma; font-size: 10px; color: #000000\">".substr($pubdate, 30, 5)." - ".substr(htmlspecialchars(trim($title)), 13)."</td>
    </tr>
  ";
    }
    elseif (substr($title, 0, 9) == "[Kanal 5]")
    {
      print "
    <tr>
      <td width=\"24\" height=\"20\" bgcolor=\"#F5F5F5\"><img src=\"images/kanal5.png\" width=\"20\" height=\"20\" title=\"DR1\"></td>
      <td width=\"179\" style=\"font-family: Tahoma; font-size: 10px; color: #000000\" bgcolor=\"#F5F5F5\">".substr($pubdate, 30, 5)." - ".substr(htmlspecialchars(trim($title)), 10)."</td>
    </tr>
  ";
    }

    $title = "";
    $description = "";
    $link = "";
    $pubdate = "";
    $insideitem = false;
  }
}

function mellemtag($parser, $data)
{
  global $insideitem, $tag, $title, $description, $link, $pubdate;
  if ($insideitem)
  {
    switch ($tag)
    {
      case "TITLE":
      $title .= $data;
      break;
      case "DESCRIPTION":
      $description .= $data;
      break;
      case "LINK":
      $link .= $data;
      break;
      case "PUBDATE":
      $pubdate .= $data;
      break;
    }
  }
}

$xmlconn = xml_parser_create("ISO-8859-1");
xml_set_element_handler($xmlconn, "startendetag", "afslutendetag");
xml_set_character_data_handler($xmlconn, "mellemtag");
$henturl = fopen("http://ontv.dk/rss/","r") or die("Kunne ikke læse RSS data'en");
while ($data = fread($henturl, 4096))
{
    xml_parse($xmlconn, $data, feof($henturl)) or die(sprintf("XML fejl: \"%s\" på linie %d", xml_error_string(xml_get_error_code($xmlconn)), xml_get_current_line_number($xmlconn)));
}
?>
    </table>
    </td>
  </tr>
</table>
</body>
</html>
Avatar billede dugi Nybegynder
17. maj 2005 - 09:49 #12
skulle have været skrevet som et svar :s
Avatar billede dj-sejler Praktikant
26. maj 2005 - 17:21 #13
--> olebole
Det er jo egentlig det du har sagt jeg skal bruge... eller... er det svar jeg skal rette mig efter...
så hvis du vil svare?!
Avatar billede olebole Juniormester
23. marts 2006 - 14:10 #14
- så gerne  ;o)

Nu er det ikke til at vide, hvilken bruger, der har skrevet følgende i min 'Karma' (det er jo svært at vide, når man ikke kan finde udaf at underskrive sine udgydelser):

"Det er jo altid let at føle sig bedre en andre! http://www.eksperten.dk/spm/618018#rid5551184 Hvis du har nogle spørgsmål til hvordan ontv.dk arbejder, så er du velkommen til at kontakte os på info@ontv.dk. Tak!"

Det er ikke lige til at gennemskue, hvem det er, du ('forfatteren' af ovenstående) hentyder til i den første linje - men skulle der være tale om mig, må der da være noget, du helt har misforstået:

Jeg føler mig absolut ikke bedre end andre - men ontv.dk ligner til forveksling et af de mange sites, der snylter på andre ved screen-scraping.
Om det vitterligt forholder sig sådan, har jeg naturligvis ikke den ringeste anelse om - hvorfor jeg da også helt har undladt at komme med den slags specifikke anklager. Jeg udtalte mig blot om, hvad det ligner - og det står jeg helt klart ved  :)
Avatar billede mtrolle Nybegynder
08. april 2007 - 18:20 #15
Du finder det da utroligt let at nedgøre ONTV, uden at kunne dokumentere en skid ole.
Karmaen er skrevet af mig. Jeg var ikke klar over dette ikke var synliggjort på exp.dk. Det er hermed rettet.

ONTV ripper naturligvis ikke dataen fra TV2 eller lign. for den sags skyld.
I Danmark har vi Ritzau som indhenter al data hos diverse TV-station for til sidst at sætte dataen til salg. De leverer til langt de fleste tv-stationers hjemmesider m.v.
ONTV arbejder lige som Ritzau, dvs. vi har et samarbejde med samtlige danske tv-stationer (og andre som ligger på vores hjemmeside). Vi indhenter herefter dataen til vores egen database og præsenterer dette på ontv.dk og i vores øvrige produkter. Desuden arbejder vi ligesom Ritzau med videredistribution af dataen til fx Nyhedsavisen, urban osv. osv.

At du synes min HTML/CSS er dårlig kan jeg leve med, det er jo din mening. Der er naturligvis en del huller som jeg godt kunne sætte mig ned og investere i at rette op, hvis jeg havde tid og overskud til det.
Men at du sidder og snakker negativt om ONTV og hentyder, at vi ripper dataen ser jeg som utrolig umodent. Bidrag med noget brugbart eller hold din kæft ole.

Du er meget velkommen til at kontakte mig på mt@ontv.dk eller pr. telefon, se hvordan på ONTV, hvis du fortsat mener vi ripper dataen. Så kan du da få en tour i systemet.

god påske.
Avatar billede olebole Juniormester
10. april 2007 - 13:17 #16
Hvorfor skriver du dog God Påske, når du tydeligvis ikke mener det? På den anden side kunne det virke, somom du slet ikke er vandt til, folk siger/skriver, hvad de mener. Det kunne i hvertfald tænkes at være årsagen til, du ikke evner at læse, hvad det er, jeg skriver.

Således skriver jeg jo netop, at ontv.dk til forveksling _ligner_ et site, der screen-scraper - men at jeg naturligvis ikke kan udtale, om det vitterligt forholder sig sådan. Det forventede jeg ikke kunne give anledning til misforståelser ... men ikke desto mindre virker det ikke somom, du endnu har fattet ordene.

At din HTML/CSS er dårlig, handler ikke om min mening - men om din kode. Den slags findes der helt klare regler for, så derfor behøver vi heldigvis ikke bekymre os om hinandens mere eller mindre tilfældige meninger. Vi kan blot forholde os til standarderne for, hvordan den slags skrives ... og overholder koden ikke dem, er koden ikke god. Så enkelt kan livet være  ;o)

Det er muligt, du finder mig umoden, men derfor behøver du ikke forfalde til primitiv banden i dine opfordringer til, hvad du mener, jeg burde beflitte mig med!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester