PHPackages                             eznio/xget - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. eznio/xget

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

eznio/xget
==========

XPATH-based site parsing library

v1.1(8y ago)028MITPHPPHP &gt;=5.4.0

Since Feb 28Pushed 8y ago1 watchersCompare

[ Source](https://github.com/eznio/xget)[ Packagist](https://packagist.org/packages/eznio/xget)[ Docs](https://github.com/eznio/xget)[ RSS](/packages/eznio-xget/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (1)Dependencies (4)Versions (9)Used By (0)

Deadly simple XPath-based parser
================================

[](#deadly-simple-xpath-based-parser)

Usage
-----

[](#usage)

### Parse element(-s) by single query

[](#parse-element-s-by-single-query)

```
$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', ... ];
```

### Parse elements with nested subqueries

[](#parse-elements-with-nested-subqueries)

A bit more difficult case.

First of all, you set root node to parse using `@` array key.

Then you define elements to be parsed from the root elements using XPath-queries from the root of the parent query result.

```
$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',
    ],
    . . .
];
```

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~31 days

Recently: every ~54 days

Total

8

Last Release

3144d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/d81a9338efaa22b0fd0e98575091f89f86190ab34354e3a555655a7b5a2a6f75?d=identicon)[evgeny-zinder](/maintainers/evgeny-zinder)

---

Top Contributors

[![evgeny-zinder](https://avatars.githubusercontent.com/u/6049024?v=4)](https://github.com/evgeny-zinder "evgeny-zinder (2 commits)")

---

Tags

parserXpath

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/eznio-xget/health.svg)

```
[![Health](https://phpackages.com/badges/eznio-xget/health.svg)](https://phpackages.com/packages/eznio-xget)
```

###  Alternatives

[paquettg/php-html-parser

An HTML DOM parser. It allows you to manipulate HTML. Find tags on an HTML page with selectors just like jQuery.

2.4k7.9M123](/packages/paquettg-php-html-parser)[thadafinser/user-agent-parser

UserAgent parsing done right http://useragent.mkf.solutions/

249316.9k2](/packages/thadafinser-user-agent-parser)[vipnytt/sitemapparser

XML Sitemap parser class compliant with the Sitemaps.org protocol.

772.2M10](/packages/vipnytt-sitemapparser)[xparse/element-finder

Elegant data scrapping

3445.0k2](/packages/xparse-element-finder)[phanan/poddle

Parse podcast feeds with PHP following PSP-1 Podcast RSS Standard

1721.4k1](/packages/phanan-poddle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
