php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 22-03-2011, 12:15
Seppo2
 Registrierter Benutzer
Links : Onlinestatus : Seppo2 ist offline
Registriert seit: Aug 2007
Beiträge: 8
Seppo2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard CURL / Daten von Website mit tabellen auslesen

Hallo

ich kenne mich mit dem CURL nicht besonders aus und verstehe manche Sachen nicht.

Ich habe folgende Website wo ich die Daten in eine Array auslesen möchte

Crushed Ambitions Corporation details - Crushed Ambitions [C-A]

folgende Tabelleninhalte der Seite werden benötigt

---------- Ship type / Victim / System / Time
1.Datensatz / Hawk / DillonEllett / Olettiers / 2011-03-19
2.Datensatz / Drake / DillonEllett / Olettiers / 2011-03-17


mir würde es schon reichen, wenn ich nur die erste Seite der Webseite so auslesen könnte. Würde mir dann eine Schleife bauen, um alle durchzugehen.


Wäre echt nett wenn mir hier jemand helfen könnte.

Gruß Seppo
Mit Zitat antworten
  #2 (permalink)  
Alt 22-03-2011, 12:28
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

CURL brauchst du zum Abrufen der Seite, zum Extrahieren der Inhalte dagegen brauchst du DOM.

Die Art der gewünschten Hilfe solltest du näher erläutern und es sollte auch daraus hervorgehen, was du selbst schon geschafft hast oder zu tun in der Lage bist. Außerdem wäre es tierisch sinnvoll, diese Sachen, die du nicht verstehst, auch zu benennen, sonst kann ich dir nur raten:

Lies dir manche Kapitel im Handbuch durch und mach manche Tutorials!

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #3 (permalink)  
Alt 22-03-2011, 20:23
Seppo2
 Registrierter Benutzer
Links : Onlinestatus : Seppo2 ist offline
Registriert seit: Aug 2007
Beiträge: 8
Seppo2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

versuche das gerade nicht über curl sondern über preg_match_allzu lösen


leider bekomme ich keine ausgabe

PHP-Code:
<?php
$url 
"http://www.crushedambitions.org/killboard/?a=corp_detail&crp_id=8275&view=losses&page=1/";
$content file_get_contents($url);


preg_match_all ('/<tr class="kb-table-row-odd">\s{0,1}(.*?)<\/tr>/'$content$hit);

print_r($hit);

?>
Sollte er jetzt nicht <tr> </tr> mit der Klasse kb-table-row-odd komplett ausgeben ?

finde die Nomenkaltur von preg_match_all verwirrend :-)

Vielleicht weiß jemand rat

Geändert von AmicaNoctis (23-03-2011 um 13:38 Uhr) Grund: Code-Tags gesetzt
Mit Zitat antworten
  #4 (permalink)  
Alt 22-03-2011, 20:38
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

HTML mit regulären Ausdrücken zu zerlegen, ist mühsam, fehleranfällig und bei Änderungen an der Struktur der Seite schreibst du alles nochmal neu. Aber wenn es unbedingt sein muss, sieh dir die Modifikatoren an, insbesondere "s".

Wenn du dich belehren lassen willst, mach es mit DOM und XPath.

Übrigens gibt es hier Code-Tags, die für Quellcode benutzt werden sollen (siehe Signatur). Wäre nett, wenn du den Beitrag dahingehend ändern könntest.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #5 (permalink)  
Alt 23-03-2011, 13:24
Seppo2
 Registrierter Benutzer
Links : Onlinestatus : Seppo2 ist offline
Registriert seit: Aug 2007
Beiträge: 8
Seppo2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Problem bei den ganzen DOM Beispielen im Netz ist, dass diese fast nie funktionieren und so ist es schwer dazu Beispiele rauszusuchen.

Wäre echt nett wenn mir jemand bei meinem Vorhaben helfen könnte.

PS : wie markiere ich meinen Quellcode?
Mit Zitat antworten
  #6 (permalink)  
Alt 23-03-2011, 13:47
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Funktionierendes Beispiel

Die Code-Tags hab ich jetzt selbst hinzugefügt.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #7 (permalink)  
Alt 25-03-2011, 00:01
Seppo2
 Registrierter Benutzer
Links : Onlinestatus : Seppo2 ist offline
Registriert seit: Aug 2007
Beiträge: 8
Seppo2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

bekomme zwar eine Ausgabe finde leider nicht die korrekte Klasse für DIV

Code:
<?php

$url = "http://www.crushedambitions.org/killboard/?a=corp_detail&crp_id=8275&view=losses&page=1/";
$content = file_get_contents($url);

$dom = new DomDocument;
$dom->preserveWhiteSpace = FALSE;
$dom->loadHTML($content);


$params = $dom->getElementsByTagName('div'); // Find Sections
$k=0;


foreach ($params as $param) //go to each section 1 by 1
{
      if($param->getAttribute('class')=='killlist')
      {


      $params2 = $dom->getElementsByTagName('tr'); // Find Sections
      $j=0;

           foreach ($params2 as $param2) //go to each section 1 by 1
           {
             if($param2->getAttribute('class')=='kb-table-row-odd')
             {
             echo $param2->nodeValue   ;
              }
           $j++;
           }


      }
      $k++;
}
?>
Mit Zitat antworten
  #8 (permalink)  
Alt 25-03-2011, 00:05
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

In der Zeile mit "find sections" darfst du nicht vom Dokument ($dom) ausgehen, um die Tabellenzeilen zu finden, sondern musst die vom aktuellen Element ($param) aus suchen.

Edit:

Außerdem wird dir der nodeValue von $param2 nicht viel bringen, denn der ist bei Elementknoten immer null. Evtl. suchst du nach textContent oder willst weitere Kinder davon haben?

Mal ganz davon abgesehen - wäre das mit XPath nicht 100 mal bequemer?:

PHP-Code:
foreach ($xpath->query("//div[@class='killlist']//tr[@class='kb-table-row-odd']") as $row) {
    
// ...

__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!

Geändert von AmicaNoctis (25-03-2011 um 00:09 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 25-03-2011, 00:09
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Edit: OK, scheinbar hat Amica dich verstanden.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.

Geändert von wahsaga (25-03-2011 um 00:12 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
array, curl, daten, website, xpath


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Daten aus Website auslesen - file_get_contents? OnkelBenS PHP Developer Forum 16 18-03-2010 21:08
[PHP5] Daten aus verschiedenen tabellen auslesen eckes_01 PHP Developer Forum 1 12-11-2005 15:53
Daten aus Tabellen auslesen und wiedergeben # WIE?! flonut SQL / Datenbanken 8 07-10-2005 19:52
daten und bild aus email auslesen und website aktualisieren faustus PHP Developer Forum 12 15-04-2003 16:06
zusammengehoerige daten aus 2 tabellen auslesen und darstellen Typomaniac PHP Developer Forum 21 22-06-2001 09:19

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

Formmailer v1.6.1 Bootstrap 4

Formmailer v1.6.1 Bootstrap wurde extra für Bootstrap entwickelt. Mit Bootstrap kann man schnell und einfach kleine oder große Projekte entwickeln, die auf Geräten in allen erdenklichen Formen funktionieren.

18.12.2018 arne-home | Kategorie: PHP/ Formular
HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

10.12.2018 Berni | Kategorie: MYSQL/ Management
piwik Open-Source Webanalyse-Software ansehen piwik Open-Source Webanalyse-Software

piwik ist eine gute Alternative zu Google Analytics. Viele Features und ein modernes Erscheinungsbild mit aussagefähigen Statistiken in Echtzeit

10.12.2018 phpler | Kategorie: PHP/ Besucherzaehler
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:36 Uhr.