Попытка получить тот же результат по элементам xpath и css - PullRequest
0 голосов
/ 25 апреля 2019

Я пытаюсь получить тот же результат с сайта, используя элементы dom и xpath. Так что я могу сделать этот сканер динамическим для большего количества сайтов, так что мне нужно только указать URL и какой тип (xpath, domelement).

 $url = 'https://#/';
        $xpath = "/html[1]/body[1]/div[3]/header[1]/div[1]/div[1]/div[2]/div[1]/ul[1]/li[2]/ul[1]/li[1]/span[1]";        
        $client = new Client();
        $guzzleClient = new GuzzleClient(array(
            'timeout' => 60,
        ));
        $client->setClient($guzzleClient);
        $crawler = $client->request('GET', $url);
        $crawler->filter('.rate')->filter('.gold')->each(function ($node) {
        print $node->text()."\n";
        });

        $result = $crawler->filterXPath($xpath);
        var_dump($result);

результат должен быть следующим: цена на золото, как выводит этот фрагмент кода: $ crawler-> filter ('. Rate') -> filter ('. Gold') -> each (function ($ node) { напечатать $ node-> text (). "\ n"; });

Если что-то неясно, пожалуйста, дайте мне знать!

1 Ответ

0 голосов
/ 25 апреля 2019

Добро пожаловать в SO.

Если вы хотите получить курс золота, вы можете использовать следующие селекторы.

xpath

//ul[@class='rates-widget list-inline']//span[@class='rate gold']

CSS

ul.rates-widget.list-inline span.rate.gold
...