Crawlen einer website mit Laravel & Elvedia\Goutte: Wie zum extrahieren von JSON

Ich es geschafft, Zugriff erfolgreich eine remote JSON-Ressource mit Goutte Laravel 4:

$client = Goutte::getNewClient();

//*
$crawler = $client->request('GET', 'http://domain.mg/admin');

$form = $crawler->selectButton('Login')->form();
$crawler = $client->submit($form, array('username' => 'username', 'password' => 'password'));

//*/

$crawler = $client->request('GET', 'http://domain.mg/usergroup/list'); //Yields JSON Response

return dd($crawler);

Liefert es eine Ausgabe in etwa so:

object(Symfony\Component\DomCrawler\Crawler)#285 (4) {
["uri":protected]=> string(36) "http://domain.mg/usergroup/list"
["defaultNamespacePrefix":"Symfony\Component\DomCrawler\Crawler":private]=>
string(7) "default"
["namespaces":"Symfony\Component\DomCrawler\Crawler":private]=>
array(0) { } ["storage":"SplObjectStorage":private]=> array(1) {
["0000000075faaa10000000001af55ef8"]=> array(2) { ["obj"]=>
object(DOMElement)#241 (17) { ["tagName"]=> string(4) "html"
["schemaTypeInfo"]=> NULL ["nodeName"]=> string(4) "html"
["nodeValue"]=> string(438) "[{"id":1,"group_name":"Compte
principal","group_desc":"Administrateur","group_level":9},{"id":2,"group_name":"Profil
pour les
Experts comptables","group_desc":"Experts comptables","group_level":2},{"id":3,"group_name":"Validateur
d'op\u00e9ration","group_desc":"Superviseur","group_level":9},{"id":18,"group_name":"Keine
Kommentar","group_desc":"Autres
employ\u00e9s","group_level":6},{"id":41,"group_name":"Invit\u00e9","group_desc":"Guest","group_level":2}]"
["nodeType"]=> int(1) ["parentNode"]=> string(22) "(Objekt-Wert
weggelassen)" ["childNodes"]=> string(22) "(Objekt-Wert weggelassen)"
["firstChild"]=> string(22) "(Objekt-Wert weggelassen)" ["lastChild"]=>
string(22) "(Objekt-Wert weggelassen)" ["previousSibling"]=> string(22)
"(Objekt-Wert weggelassen)" ["attributes"]=> string(22) "(Objekt-Wert
weggelassen)" ["ownerDocument"]=> string(22) "(Objekt-Wert weggelassen)"
["namespaceURI"]=> NULL ["prefix"]=> string(0) "" ["localName"]=>
string(4) "html" ["baseURI"]=> NULL ["textContent"]=> string(438)
"[{"id":1,"group_name":"Compte
principal","group_desc":"Administrateur","group_level":9},{"id":2,"group_name":"Profil
pour les
Experts comptables","group_desc":"Experts comptables","group_level":2},{"id":3,"group_name":"Validateur
d'op\u00e9ration","group_desc":"Superviseur","group_level":9},{"id":18,"group_name":"Keine
Kommentar","group_desc":"Autres
employ\u00e9s","group_level":6},{"id":41,"group_name":"Invit\u00e9","group_desc":"Guest","group_level":2}]"
} ["inf"]=> NULL } } }

Stolperte ich bei Gewinnung/Umwandlung der internen Repräsentation des JSON-innerhalb $crawler Objekt. Wie konnte das geschehen?

  • Was Sie wollen, zu tun, mit der JSON-Ausgabe genau?
  • Ich möchte die Pumpe von remote-Daten (statisch) in einem lokalen Spiegel-Datenbank.
InformationsquelleAutor menjaraz | 2014-06-13
Schreibe einen Kommentar