eznio/xget

基于XPATH的网站解析库

v1.1 2017-10-05 12:20 UTC

This package is not auto-updated.

Last update: 2024-09-27 22:44:40 UTC


README

用法

通过单个查询解析元素(-s)

$result = (new \eznio\xget\Xget(new \GuzzleHttp\Client()))
    ->setUrl('http://spb.questguild.ru/choose_city')
    ->parse([
        'cities' => '//ul[@class="list-check"]/li/a'
    ]);
    
$cities = ['Moscow', 'Saint-Petersburg', ... ];

通过嵌套子查询解析元素

稍微复杂一点的情况。

首先,您使用 @ 数组键设置要解析的根节点。

然后,您使用从父查询结果根部的XPath查询定义从根元素解析的元素。

$result = (new \eznio\xget\Xget(new \GuzzleHttp\Client()))
    ->setUrl('http://spb.questguild.ru/choose_city')
    ->parse([
        'cities' => [
            '@' => '//ul[@class="list-check"]/li',
            'city' => '//a',
            'url' => '//a/@href'
        ]
    ]);

$cities = [
    [
        'name' => 'Moscow',
        'url' => 'http://moscow.questguild.ru',
    ],
    [
        'name' => 'Saint-Petersburg',
        'url' => 'http://spb.questguild.ru',
    ],
    . . .
];