试图通过xpath和CSS元素获得相同的结果

时间:2019-04-25 14:47:08

标签: php web-crawler goutte

我试图通过使用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 :(得分:0)

欢迎来到。

如果要获取黄金利率,则可以使用以下选择器。

xpath

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

CSS

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