Avatar billede jammerlab Nybegynder
23. juni 2003 - 12:16 Der er 32 kommentarer og
1 løsning

Scanner med PHP?

Hej derude... nu har jeg set flere steder at man ligsom kan lave en "scanner" i php... ligsom played.dk har (http://www.played.dk/?p=scanner)

Hvordan laver man sådan en? Har fået afvide det skulle være simpelt men jeg kender slet ikke de funktioner i PHP'en jeg skal have fat i... har i en tutorial eller et script som gør det... så hjælp mig lige :)
Avatar billede 2-maz Nybegynder
23. juni 2003 - 15:58 #1
Enten skal du kigge efter, om de pågældende sider har nogle XML-dokumenter med deres nyheder liggende. Hvis ikke kan du hente sideren med fopen eller readfile, hvorefter du udskiller HTML, og evt sortere de udnødvendige data fra.
Avatar billede jammerlab Nybegynder
23. juni 2003 - 16:01 #2
Hm det lyder pludseligt meget besværligt :| chancen er jo nok at det er php filer... som echoer noget fra en mysql database... så... skal jeg bruge fopen på en php fil... røv... det er jo svært det her hehe
Avatar billede 2-maz Nybegynder
23. juni 2003 - 16:05 #3
Du kan jo kigge på siden med hvis kilde, og lave noget ereg() ... Det fopen eller readfile() henter er html-outputtet, som er det samme der er i din vis kilde...
Avatar billede jammerlab Nybegynder
23. juni 2003 - 16:07 #4
hmm du har ikke et script liggende hvor du bruger disse funktioner? For jeg fatter ikke lige brugen af dem :|
Avatar billede 2-maz Nybegynder
23. juni 2003 - 16:09 #5
Du må jo selv prøve dig frem, ellers lærer du jo ikke noget af det...
Avatar billede jammerlab Nybegynder
23. juni 2003 - 16:13 #6
Det var heller ikke meningen jeg ville lærer noget da jeg oprettede spørgsmålet ;) Jeg ville have svar og konkrete løsninger hehe
Avatar billede schaefner Juniormester
23. juni 2003 - 16:17 #7
Hvis de har et xml-dokument, så er det straks meget nemmere. Her er f.eks. et eksempel på et script der hiver spørgsmål udfra ekseperten:
http://disneyzone.dk/~expxmlparser/

og det hele bliver hivet udfra dette dokument: http://exp.dk/feed/q_new.rss
Avatar billede jammerlab Nybegynder
23. juni 2003 - 16:20 #8
schaefner>> er det ikke de færste sider som lagre deres ting i xml dokumenter? (Aner ikke engang hvad det er - regneark? hehe) ... http://disneyzone.dk/~expxmlparser/ << hvor er scriptet til den? så jeg kan se hvordan det hele hænger sammen...
Avatar billede 2-maz Nybegynder
23. juni 2003 - 16:22 #9
Så var det måske en ide at finde ud af, HVAD xml er...
Avatar billede jammerlab Nybegynder
23. juni 2003 - 16:23 #10
2-maz det kunne være du kunne fortælle mig det?
Avatar billede 2-maz Nybegynder
23. juni 2003 - 16:25 #11
Avatar billede schaefner Juniormester
23. juni 2003 - 16:28 #12
og så kan du bruge dette script: http://phpbuilder.com/columns/joe20000907.php3
Avatar billede chrillere Nybegynder
23. juni 2003 - 16:28 #13
der er faktisk en del sider der laver xml dumps f.eks. af deres nyheder.
En af de bedre XML artikler mener jeg at jeg fandt på devshed.com! Jeg mener også at de viser hvordan man parser en XML fil, men kan ikke huske om de viste det med PHP!
Avatar billede jammerlab Nybegynder
23. juni 2003 - 16:28 #14
ok nu ved jeg hvad det er....
Avatar billede jammerlab Nybegynder
23. juni 2003 - 16:33 #15
schaefner>> jeg er med på det array han laver osv. men det forvirre mig han ikke ber den hente det xml dokument? Er det her jeg skal bruge fopen i 1 omgang... så lave arrayet... og så lukke igen?
Avatar billede schaefner Juniormester
23. juni 2003 - 16:34 #16
du har vel kigget på side 2?
Avatar billede jammerlab Nybegynder
23. juni 2003 - 16:35 #17
lol doh doh :P [ NEXT PAGE ] ... *læser videre*
Avatar billede jammerlab Nybegynder
23. juni 2003 - 16:41 #18
schaefner>> puha det er komplekst men det er lige det jeg søgte :P ... kan du foklare mig hvorfor eksperten opbevare deres nyheder i noget kalder rss som faktisk er bygget op som xml? :)
Avatar billede 2-maz Nybegynder
07. juli 2003 - 16:15 #19
Her er et ekssempel på hvordan det kan gøres fx fra xplayn.com

<?php
class getNews {
   
    /*
    CREATE TABLE nyheder (
      id int(11) NOT NULL auto_increment,
      nyhed varchar(255) NOT NULL default '',
      site varchar(100) NOT NULL default '',
      dato varchar(100) NOT NULL default '',
      PRIMARY KEY  (id)
    ) TYPE=MyISAM;
    */
   
    var $usr    = "usr";
    var $pwd    = "pwd";
    var $host    = "localhost";
    var $db        = "nyheder";
   
    function connectDB() {
    mysql_connect($this->host, $this->usr, $this->pwd);
    mysql_select_db($this->db);
    }
   
    function checkIfExist($string) {
        $tjek    = mysql_query("SELECT nyhed FROM nyheder WHERE nyhed = '".$string."'") or die(mysql_error());
        if(mysql_num_rows($tjek) == 0) {
            return 0;
        } else {
            return 1;
        }
    }
   
    function fetch_site($site) {
        $data    = implode("",file($site));
        return $data;   
    }
   
    function parse_dataXplayn() {
        $input    = $this->fetch_site("http://xplayn.com");
        $pos1    = strpos($input, "Scenen");
        $pos2    = strpos($input, "<a href=\"?id=5256\">");
        $striped= strip_tags(substr($input, $pos1, ($pos2-$pos1)),"<td><a>");
        $new    = str_replace("<td colspan=\"2\"></td>", "", $striped);
        return str_replace("Scenen", "", $new);
    }
   
    function newsXplayn() {
        $data    = explode("</td><td>", $this->parse_dataXplayn());
        $url    = "http://xplayn.com";
        for($i=0;$i<=19;$i++) {
            $n    = explode("</a>", strip_tags(ereg_replace("\(.*\)", "", $data[$i]),"<a>"));
            $nyhed    = str_replace("href=\"?id", " target=\"_blank\" href=\"".$url."?id", $n[0]);
            $dato    = $n[1];
           
            if($this->checkIfExist($nyhed) == 0) {
                mysql_query("INSERT INTO nyheder (nyhed,dato,site) VALUES ('".$nyhed."', '".$dato."', 'Xplayn.com')") or die (mysql_error());
                echo "Følgende blev tilføjet: ".strip_tags($nyhed)."<br>";
            }
           
        }
    }

}
   
   
    $test    = new getNews();
    $test->connectDB();
    $test->newsXplayn();
?>
Avatar billede jammerlab Nybegynder
15. juli 2003 - 12:04 #20
Hmm... så det vil sige man ikke kan "rippe" tekst fra en internet side hvis det ikke ligger i xml eller hvis du ikke har adgang til deres database?
Avatar billede 2-maz Nybegynder
15. juli 2003 - 20:18 #21
har lige givet dig et ekssempel på hvordan det gøres...
Avatar billede 2-maz Nybegynder
15. juli 2003 - 20:18 #22
den database er din egen, som den ligger nyhederne ind i ...
Avatar billede jammerlab Nybegynder
15. juli 2003 - 20:20 #23
okay?! Well... det vil jeg da lige teste så...
Avatar billede jammerlab Nybegynder
15. juli 2003 - 20:22 #24
No Database Selected
Avatar billede jammerlab Nybegynder
15. juli 2003 - 21:05 #25
hmm den adder ingen ting...
Avatar billede 2-maz Nybegynder
15. juli 2003 - 22:30 #26
Du har tjekket om du har fopen wrappers sat til i din php.ini?
Avatar billede jammerlab Nybegynder
15. juli 2003 - 22:44 #27
;;;;;;;;;;;;;;;;;;
; Fopen wrappers ;
;;;;;;;;;;;;;;;;;;

; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
allow_url_fopen = On

; Define the anonymous ftp password (your email address)
;from="john@doe.com"

; Define the User-Agent string
; user_agent="PHP"

; Default timeout for socket based streams (seconds)
default_socket_timeout = 60

; If your scripts have to deal with files from Macintosh systems,
; or you are running on a Mac and need to deal with files from
; unix or win32 systems, setting this flag will cause PHP to
; automatically detect the EOL character in those files so that
; fgets() and file() will work regardless of the source of the file.
; auto_detect_line_endings = Off
Avatar billede 2-maz Nybegynder
15. juli 2003 - 22:46 #28
du bruger den sådan:
$test    = new getNews();
    $test->connectDB();
    $test->newsXplayn();

og har en tabel:
CREATE TABLE nyheder (
      id int(11) NOT NULL auto_increment,
      nyhed varchar(255) NOT NULL default '',
      site varchar(100) NOT NULL default '',
      dato varchar(100) NOT NULL default '',
      PRIMARY KEY  (id)
    ) TYPE=MyISAM;
Avatar billede jammerlab Nybegynder
15. juli 2003 - 23:27 #29
Følgende blev tilføjet: . Tættere på. Nu.   
Object
Avatar billede 2-maz Nybegynder
15. juli 2003 - 23:37 #30
hmm, så må de have rettet lidt i designet, så må du jo tilpasse det..
Avatar billede jammerlab Nybegynder
15. juli 2003 - 23:58 #31
rimlig sort det her er hvad der er i databasen:

            id                                                                                                                                                                                          nyhed                                                                                                site                                                                                                dato
              1. Tættere på. Nu.
   







&nbsp;

&nbsp;
<a href="http://www.xplayn.com/doclicks.php4?sId=30&bId=78&dest=http%3A%2F%2Fwww.boomtown.net%2Fda_dk%2Farticles%2Fart.view.php%3Fid%3D52124">                                                                                          Xplayn.com                                                       


    function popupwindow
    {
        if(width
              2                                                                                                                                                                                                                                                                                          Xplayn.com                                                                                                   
              3. Tættere på. Nu.
   







&nbsp;

&nbsp;
<a href="http://www.xplayn.com/doclicks.php4?sId=30&bId=77&dest=http%3A%2F%2Fwww.boomtown.net%2Fda_dk%2Farticles%2Fart.view.php%3Fid%3D51971">                                                                                          Xplayn.com                                                       


    function popupwindow
    {
        if(width
Avatar billede 2-maz Nybegynder
16. juli 2003 - 00:25 #32
hehe, noget siger mig at de HAR ændret på designet :)
Avatar billede jammerlab Nybegynder
16. juli 2003 - 11:48 #33
Men det ser ud til at din metode sådan set virker :) Nu skal jeg bare lige finde ud af hvordan hehe men tak :)
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