Ankündigung

Einklappen
Keine Ankündigung bisher.

Text zwischen 2 Markern von einer Webseite auslesen

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Text zwischen 2 Markern von einer Webseite auslesen

    Hallo Leute,

    ich muss leider mal wieder eine Frage stellen.

    Ich möchte gerne von dieser Webseite https://ipscmatch.de die Tabelle in einem Array haben.
    Bzw. das Endziel ist das sich dort nur die Zeilen/Spalten befinden die ‚Philippsburg‘ beinhalten.

    Versucht habe ich es nun auf 2 wegen.

    1.
    PHP-Code:
    function HomepageLaden($url$postdata)
            {
            
    $agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0)";
            
    $header[] = "Accept: text/vnd.wap.wml,*.*";
            
    $ch curl_init($url);

            if (
    $ch)
                {
                
    curl_setopt($ch,    CURLOPT_RETURNTRANSFER1);
                
    curl_setopt($ch,    CURLOPT_USERAGENT$agent);
                
    curl_setopt($ch,    CURLOPT_HTTPHEADER$header);
                
    curl_setopt($ch,    CURLOPT_FOLLOWLOCATION1);

                
    # mit den nächsten 2 Zeilen könnte man auch Cookies
                # verwenden und in einem DIR speichern
                #curl_setopt($ch,    CURLOPT_COOKIEJAR, "cookie.txt");
                #curl_setopt($ch,    CURLOPT_COOKIEFILE, "cookie.txt");

                
    if (isset($postdata))
                    {
                    
    curl_setopt($ch,    CURLOPT_POST1);
                    
    curl_setopt($ch,    CURLOPT_POSTFIELDS$postdata);
                    }

                
    $tmp curl_exec ($ch);
                
    curl_close ($ch);
                }
            return 
    $tmp;
            }

        
    $_url "https://ipscmatch.de";
        
    $_buffer HomepageLaden($_url"");


        
    preg_match_all('#<td(.*)>(.*)<\/td>#'$_buffer$output);

    echo 
    '<pre>';
    print_r($output);
    echo 
    '<pre>'
    antwort ist:
    PHP-Code:
      Array (     [0] => Array         (         )      [1] => Array         (         )      [2] => Array         (         ) 
    2.
    PHP-Code:
    $URL 'https://ipscmatch.de';
    $Tag = array();
    $DOM = new DOMDocument;
    $DOM->loadHTML($URL);

    $Tag $DOM->getElementsByTagName('td');

    echo 
    '<pre>';
    print_r($Tag);
    echo 
    '<pre>'

    antwort ist:
    PHP-Code:
      DOMNodeList Object ( [length] => 
    In beiden fällen bekomme ich aber nur ein leeres Array.

    Hat einer einen Tip für mich wo ich was falsch mache?

    Danke und Gruß
    René


  • #2
    Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung bedürfen der Zustimmung des jeweiligen Urhebers
    Und hast du eine Erlaubnis und warum stellt der Betreiber dann keine API zur Verfügung?

    Kommentar


    • #3
      loadHTML verlangt einen String, d.h. bei Dir durchsucht er jetzt:

      PHP-Code:
      $URL 'https://ipscmatch.de'
      nach td-Elementen. Du musst Dir dort zuerst also den Inhalt der Seite holen, z.b. mit file_get_contents();

      Zuerst aber den Hinweis von Zeichen32 beachten und nachfragen ob das ok ist was du da machen willst oder ob es andere, legale Möglichkeiten gibt um an die Daten zu kommen.

      Kommentar


      • #4
        Da das meist vom Seitenbetreiber nicht erwünscht ist, werden wir da keine Hilfe zu irgendwelchen möglichen Rechtsverletzungen beitragen.

        Kommentar


        • #5
          [MOD: geschlossen]
          Competence-Center -> Enjoy the Informatrix
          PHProcks!Einsteiger freundliche Tutorials

          Kommentar

          Lädt...
          X