Daten von anderen Internetseiten auf seiner eigenen Seite automatisch anzeigen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Das besondere an dieser Seite ist, dass auf ihr die aktuellen börsendaten ständig aktualisiert werden.
    Ach komm! Kannst du dich bitte technisch ausdrücken. Der semantische Inhalt der Seite interessiert uns an der Stelle nun wirklich nicht.

    Warning: file_get_contents(https://www.Muster.de/) [function.file-get-contents]: failed to open stream: Invalid argument in E:\Homepage\Homepage Boerse\Muster.php on line 34
    Wenn du Hilfe willst, liefer konkreten Code samt Fehlermeldungen, das was du da machst ist murks und hilft uns (die eigentlich dir helfen wollen) kein Stück!

    Um die einzelne Tabellenzeile zu erhalten, habe ich versucht, alles vor nd alles nach der Zeile wegzulöschen. Dann hat sich die Tabelle aufgelöst, und es gab einen Bandwurm.
    Ganz klarer Fall von: Falsch gemacht.


    Sorry, aber das ist doch kein Plauderforum....

    Kommentar


    • #17
      Hallo

      Ich habe jetzt das meiste soweit hinbekommen. Ich habe mit file_get_contents die Hp ausgelesen, nur leider sind keine Umlaute übernommen worden. Der Ausgelesene Quellcode sieht so aus...

      Code:
      [COLOR=#0000ff]<[COLOR=#800000]td[/COLOR] [COLOR=#ff0000]class[/COLOR]="le"><[COLOR=#800000]b[/COLOR]>[COLOR=#000000]Jahresberschuss:[/COLOR]</[COLOR=#800000]b[/COLOR]></[COLOR=#800000]td[/COLOR]><[COLOR=#800000]td[/COLOR]><[COLOR=#800000]b[/COLOR]>[COLOR=#000000]5.667,00[/COLOR]</[COLOR=#800000]b[/COLOR]></[COLOR=#800000]td[/COLOR]><[COLOR=#800000]td[/COLOR]><[COLOR=#800000]b[/COLOR]>[COLOR=#000000]4.498,00[/COLOR]</[COLOR=#800000]b[/COLOR]></[COLOR=#800000]td[/COLOR]><[COLOR=#800000]td[/COLOR]><[COLOR=#800000]b[/COLOR]>[COLOR=#000000]-2.640,00[/COLOR]</[COLOR=#800000]b[/COLOR]></[COLOR=#800000]td[/COLOR]><[COLOR=#800000]td[/COLOR]><[COLOR=#800000]b[/COLOR]>[COLOR=#000000]1.348,00[/COLOR]</[COLOR=#800000]b[/COLOR]></[COLOR=#800000]td[/COLOR]><[COLOR=#800000]td[/COLOR]><[COLOR=#800000]b[/COLOR]>[COLOR=#000000]3.979,00[/COLOR]</[COLOR=#800000]b[/COLOR]></[COLOR=#800000]td[/COLOR]>
      [/COLOR][COLOR=#000000]
      [/COLOR]

      eigentlich müsste es natürlich Jahresübrschuss heißen.

      Die Ausgabe sieht dann so aus...


      Jahres�berschuss: 5.667,00 ........


      Ich habe es bereits mit

      PHP-Code:
       <?php
       
      echo htmlentities ($rest13aaENT_NOQUOTES"ISO8859-15");
       
      ?>

      Das war jedoch nicht erfolgreich, die ausgabe sah nun so aus.


      <td class="le"><b>Jahresüberschuss:</b></td><td><b>5.667,00</b></td><td><b>4.498,00</b></td><td><b>-2.640,00</b></td><td><b>1.348,00</b></td><td><b>3.979,00</b></td>


      Vielleicht weiß von euch jemand einen Rat.


      Gruß
      Zuletzt geändert von Alain_S_; 03.06.2012, 00:45.

      Kommentar


      • #18
        Hallo,

        htmlentities oder sonstige Escaping-Funktionen bringen dir gar nichts. Du musst die Zeichensätze konvertieren, z. B. mit mb_convert_encoding().

        Gruß,

        Amica
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #19
          Hallo

          vielen Dank, das war ja super einfach....

          noch eine Frage zu strpos:

          Wenn ich nach dieser Zeichenfolge suche ist alle keim Problem.

          PHP-Code:
          $findMich14aa   '<tr><td';
          $pos14aa strpos($codeaa$findMich14aa);
            
           echo 
          "$pos14aa"

          Sobald ich jedoch präziser werden will

          PHP-Code:
          $findMich14aa   '<tr><td class="le"><b>';
          $pos14aa strpos($codeaa$findMich14aa);
            
           echo 
          "$pos14aa"
          findet er nichts mehr. Er findet erst wieder die eingegebene Zeichenfolgen, wenn ich das <tr> am Anfang weg lasse. aber eigentlich brauche ich das noch...
          Woran liegt das??? Was mache ich falsch.......

          Kommentar


          • #20
            Das liegt vermutlich daran, dass das „<td“ nicht direkt auf das „<tr>“ folgt, sondern dort noch Leerraum oder sonst irgend etwas dazwischen ist.
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar


            • #21
              Ja, das war auch mein erster Verdacht, aber ich habe es aus dem Code direkt rauskopiert und es zeigt trotzdem das beschriebene Symptom.

              diese Zeichenfolge findet es:
              PHP-Code:
              $findMich14aa   '<tr><td';
              $pos14aa strpos($codeaa$findMich14aa);
               
               echo 
              "$pos14aa"

              diese nicht:
              PHP-Code:
              $findMich14aa   '<tr><td class="le"><b>';
              $pos14aa strpos($codeaa$findMich14aa);
               
               echo 
              "$pos14aa"

              diese findet es jedoch wieder:
              PHP-Code:
              $findMich14aa   '<td class="le"><b>';
              $pos14aa strpos($codeaa$findMich14aa);
               
               echo 
              "$pos14aa"

              Und wie gesagt direkt aus dem Quellcode rauskopiert... da kann es eigentlich nicht vorkommen, dass ich irgend welche Zeichen vergessen habe. somindest nicht in der [COLOR=#000000][FONT=Courier New][COLOR=#0000cc]$findMich14aa Zeichenfolge ;-)[/COLOR][/FONT][/COLOR]
              Zuletzt geändert von Alain_S_; 06.06.2012, 12:29.

              Kommentar


              • #22
                Die letzten beiden Codes produzieren offensichtlich parse-errors. Bitte entsprechend dem tatsächlichen Code korrigieren.

                Woher nimmst du den Quelltext?

                Kommentar


                • #23
                  Ich habe ihn direkt aus der Variable [COLOR=#0000cc][FONT=Courier New]$codeaa rauskopiert[/FONT][/COLOR]


                  Da sieht er so aus, und genau so habe ich es auch versucht....
                  PHP-Code:
                   
                  <tr>
                   
                                <
                  td class="le">Gesamtertrag 
                  PHP-Code:
                  $findMich14aa   '<tr>
                   
                                <td class="le">Gesamtertrag'
                  ;
                  $pos14aa strpos($codeaa$findMich14aa);
                   
                   echo 
                  "$pos14aa"

                  Die letzten beiden Codes produzieren offensichtlich parse-errors
                  nur der mittlere Code produzieren offensichtlich parse-error.
                  Die anderen beiden funktionieren.....
                  Zuletzt geändert von Alain_S_; 06.06.2012, 13:02.

                  Kommentar


                  • #24
                    Da sieht er so aus, und genau so habe ich es auch versucht....
                    Bisher war das nicht der Fall. Zumindest hast du uns nichts davon gezeigt.

                    Offensichtlich scheint der Code aber immer noch nicht übereinzustimmen. (sonst würde strpos() ja was finden ) Woran das liegt, kann ich von hier aus nicht sehen, code sieht auf Anhieb korrekt aus. Außer du hast immer noch nicht den tatsächlichen Code gepostet.

                    nur der mittlere Code produzieren offensichtlich parse-error.
                    Die anderen beiden funktionieren.....
                    Auch das stimmt definitiv nicht. Aber egal, tut nichts mehr zur sache, du hast den Beitrag ja entsprechend editiert.

                    Kommentar


                    • #25
                      Ja sorry, mir sind beim Übertragen in das Forum Fehler passiert, die ich dann nachträglich korrigiert habe. Auf meiner Site hatte ich diese Fehler nicht.....

                      Nach ein paar Versuchen ist mir aufgefallen, das mein Zeichenkette nur solange gefunden wird, solange ich mich auf die Suche in einer Zeile beschränke. suche ich nach einer Zeichenkette über mehr als eine Zeile, findet es diese nicht mehr. Ist das normal??? Wie kann man das lösen?


                      Relevanter Auszug aus dem Quellcode ($rest2aa):
                      PHP-Code:
                                    <td class="le">Sonstige Erträge</td><td>2.400,00</td><td>1.041,00</td><td>3.952,00</td><td>-9.788,00</td><td>8.995,00</td
                                      </
                      tr><tr>
                                    <
                      td class="le">Gesamtertrag</td><td>31.389,00</td><td>27.293,00</td><td>25.322,00</td><td>12.414,00</td><td>30.133,00</td>
                                </
                      tr>
                       
                                      <
                      tr>
                                    <
                      td class="le">Miet-/Pachtaufwand</td><td>0,00</td><td>0,00</td><td>0,00</td><td>0,00</td><td>0,00</td
                                      </
                      tr

                      Suche innerhalb einer Zeile:
                      PHP-Code:
                            $findMich3aa   '<td class="le">Gesamtertrag';   
                            
                      $pos3aa strpos($rest2aa$findMich3aa);
                       
                         echo 
                      "$pos3aa"
                      Suche über mehrere Zeilen (2 Zeilen)
                      PHP-Code:
                            $findMich3aa   '<tr>
                                    <td class="le">Gesamtertrag'
                      ;   
                            
                      $pos3aa strpos($rest2aa$findMich3aa);
                       
                         echo 
                      "$pos3aa"
                      Zuletzt geändert von Alain_S_; 06.06.2012, 16:21.

                      Kommentar


                      • #26
                        Dann prüf bitte, ob die Zeilenunbrüche im Suchstring die selben sind, wie die im Haystack. Ich vermute, dass dem nicht so ist.

                        Alternativ schau dir auch mal preg_match an. Regex können toleranter mit Whitespaces umgehen.

                        Kommentar


                        • #27
                          Gibt es eine Möglichkeit, die Zelleninhalte einer HTML-Tabelle in ein Mehrdimensionales array zu packen, ohne jede einzelne Zelle rausparsen zu müssen??

                          Gruß

                          Kommentar


                          • #28
                            Geparst werden muss schon, aber das musst du nicht selbst machen. Um XML- und HTML-Dokumente zu verarbeiten, gibt es die Klasse DomDocument (und andere).
                            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                            Super, danke!
                            [/COLOR]

                            Kommentar


                            • #29
                              Die benötigten Zeilen habe ich ja bereits rausgeparst, jetzt will ich die die Zelleninhalte in ein array packen, um sie neu anordnen zu können. dabei kann ich mich aber nicht auf die Zelleninhalte beziehen, da sich diese regelmäßig ändern.
                              Mann müsste also eine Funktion haben, die sich unabhängig vom Inhalt, die Zellinhalte der Zeile sucht und den Inhalt in ein array packt.
                              Oderwäre es die besste variante, dies weiter von Hand zu tun??

                              Gruß

                              Kommentar


                              • #30
                                hättest du diese anforderung mal von Anfang an genannt. dann hätten wir dir direkt preg_match_all empfehlen können.

                                Aber jetzt wo du a ohnehin schon alle stellen mit str_pos suchst, sollte es doch ein leichtes sein, die werte in ein array zu packen. Schleifen verwendest du siicher schon?

                                woran scheiterst du genau?

                                Kommentar

                                Lädt...
                                X