NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!

Diskuze: Parser M Onlajny

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Jak se ti líbí článek?
Před uložením hodnocení, popiš prosím autorovi, co je špatněZnaků 0 z 50-500
Jak se ti kurz líbí?
Tvé hodnocení kurzuZnaků 0 z 50-500
Aktivity
Avatar
JirkaX
Člen
Avatar
JirkaX:2.1.2017 20:22

Ahoj,

chtěl bych někoho zkušeného poprosit jestli by mi neukázal parser přes PHP DOMDocument na stránku

http://m.onlajny.com/…e/2016-12-28

Potřeboval bych vyparsovat výsledky do XML zatím umím pouze z ID vytáhnout data ale nejde mi to na classy viz.kod

<?php
$url = "http://m.onlajny.com/league/index/id/20/date/2016-12-28";
$content = file_get_contents($url);
$domPhpDocument = new \DOMDocument('1.0');
@$domPhpDocument->loadHTML($content);

$time = $domPhpDocument->document.getElementByClass('time');

//zkoušel jsem:
//$time = $domPhpDocument->getElementByClassName('time')[0];
//$time = $domPhpDocument->getElementByClass('time')[0];

echo $time->textContent;

Poradí někdo jak názvy a výsledky rozparsovat? Děkuji předem.

 
Odpovědět
2.1.2017 20:22
Avatar
Odpovídá na JirkaX
Neaktivní uživatel:3.1.2017 8:20

Na třídy musíš jít přes XPath.

Jen pro ukázku s tou css třídou "time" třeba nějak takhle :

<?php
$url = "http://m.onlajny.com/league/index/id/20/date/2016-12-28";
$content = file_get_contents($url);
$domPhpDocument = new DOMDocument('1.0');
$domPhpDocument->loadHTML($content);
$domXpath = new DOMXPath($domPhpDocument);
$result = $domXpath->query("//*[@class='time']");

foreach($result as $key => $value){
    echo $value->nodeValue  ."<br>";
}
Nahoru Odpovědět
3.1.2017 8:20
Neaktivní uživatelský účet
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.