Ich benutze PHP Simple HTML DOM Parser, um einige Daten eines Webshops zu scrappen (läuft auch XAMPP 1.7.2 mit PHP5.3.0), und ich habe Probleme mit <tbody>
Tags . Die Struktur der Tabelle ist, essentialy (Details sind nicht wirklich so wichtig):<tbody> Glitch in PHP Einfacher HTML DOM Parser
<table>
<thead>
<!--text here-->
</thead>
<tbody>
<!--text here-->
</tbody>
</table>
Nun, ich versuche, auf den <tbody>
Abschnitt zu erhalten, indem Code verwendet:
$element = $html->find('tbody',0)->innertext;
Es spielt keine Wenn Sie versuchen, ein Echo zu erzeugen, wird nichts ausgegeben. Ich habe den Code auf anderen Elementen, <thead>
, <table>
, sogar etwas wie <span class="price">
getestet und sie alle funktionieren gut (natürlich, Entfernen ", 0" schlägt den Code fehl). Sie geben alle ihre richtigen Abschnitte. Outertext dito. Aber es schlägt alles auf <tbody>
.
Jetzt habe ich den Parser überflogen, aber ich bin mir nicht sicher, ob ich es herausfinden kann. Ich habe bemerkt, dass <thead>
nicht einmal erwähnt wird, aber es funktioniert gut. shrug
Ich denke, ich könnte versuchen, Kindernavigation zu tun, aber das scheint auch zu stören. Ich habe gerade versucht zu laufen:
$el = $html->find('table',0);
$el2 = $el->children(2);
echo $el2->outertext;
und keine Würfel. Versucht, children
durch first_child
und 2 durch 1 zu ersetzen, und immer noch keine Würfel. Lustig, wenn ich versuche ->find
anstelle von children
, funktioniert es perfekt.
Ich bin ziemlich zuversichtlich, ich könnte eine Arbeit um die ganze Sache finden, aber dieses Verhalten scheint seltsam genug, hier zu posten. Mein neugieriger Geist freut sich über all die Hilfe, die er bekommen kann.
Hinweis: In der Version '1.11' (Rev. 184) befindet sich dieser Code in der Zeile' 629'. – h2ooooooo
Dies sollte in der Dokumentation '> erwähnt werden: (' –
In Version 1.5 (Revision 196) befindet sich der Code in Zeile 695 –