funpayparsers


Namefunpayparsers JSON
Version 0.1.1 PyPI version JSON
download
home_pageNone
SummarySet of parsers for FunPay website.
upload_time2025-07-18 05:41:37
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
keywords api bot funpay funpayapi funpaybot funpayparser parser
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![FunPay Parsers logo](https://repository-images.githubusercontent.com/987755633/dc43078b-d948-4a54-8beb-e76cd864b9d7)

<h3 align=center>Набор удобных и структурированных парсеров для популярной биржи игровых ценностей <a href="https://funpay.com">FunPay</a>.</h3>
<hr>

### ⚡ Скорость
FunPay Parser использует [Selectolax](https://github.com/rushter/selectolax) на [Lexbor](https://github.com/lexbor/lexbor),
что делает скорость парсинга крайне высокой. Например, парсинг 4000 лотов занимает всего ~0.2 секунды!

### ✅ Удобство
Парсеры преобразуют HTML в удобные и структурированные датаклассы.

### 📊 Покрытие
С помощью FunPay Parser можно спарсить 99% всех сущностей FunPay. Начиная с бейджиков и заканчивая целыми страницами.

### 🛠️ Надёжность
Для большинства парсеров написано по несколько тест-кейсов, основанных на реальном HTML [FunPay](https://funpay.com).

### 🧪 Поддержка MyPy
FunPay Parsers полностью поддерживает Mypy и обеспечивает строгую статическую типизацию для повышения надёжности кода.

## Установка
```commandline
pip install funpayparsers
```

## Пример использования
```python
from funpayparsers.parsers.page_parsers import MainPageParser
import requests

html = requests.get('https://funpay.com').content.decode()
main_page = MainPageParser(html).parse()

for i in main_page.categories:
    print(f'{i.full_name} (ID: {i.id})')
```
```
Abyss of Dungeons (ID: 754)
Acrobat (ID: 655)
Adobe (ID: 652)
AFK Arena (ID: 250)
AFK Journey (ID: 503)
After Effects (ID: 654)
Age of Empires Mobile (ID: 628)
Age of Mythology: Retold (ID: 534)
Age of Wonders 4 (ID: 344)
...
```

## 🗨️ Telegram чат
Если у вас возникли какие-либо вопросы, вы можете задать их в нашем [Telegram чате](https://t.me/funpay_hub)


## ⭐ Понравился проект?
Если вы нашли использование `funpayparsers` удобным, будем рады, если вы поставите звезду 😀

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "funpayparsers",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "Qvvonk <qvvonk@gmail.com>",
    "keywords": "api, bot, funpay, funpayapi, funpaybot, funpayparser, parser",
    "author": null,
    "author_email": "Qvvonk <qvvonk@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/8c/39/62fc09d1996c673800817d217e5d7fe454906d8d3cd612eeabc441f1884f/funpayparsers-0.1.1.tar.gz",
    "platform": null,
    "description": "![FunPay Parsers logo](https://repository-images.githubusercontent.com/987755633/dc43078b-d948-4a54-8beb-e76cd864b9d7)\n\n<h3 align=center>\u041d\u0430\u0431\u043e\u0440 \u0443\u0434\u043e\u0431\u043d\u044b\u0445 \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043f\u0430\u0440\u0441\u0435\u0440\u043e\u0432 \u0434\u043b\u044f \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0439 \u0431\u0438\u0440\u0436\u0438 \u0438\u0433\u0440\u043e\u0432\u044b\u0445 \u0446\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439 <a href=\"https://funpay.com\">FunPay</a>.</h3>\n<hr>\n\n### \u26a1 \u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c\nFunPay Parser \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 [Selectolax](https://github.com/rushter/selectolax) \u043d\u0430 [Lexbor](https://github.com/lexbor/lexbor),\n\u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0430 \u043a\u0440\u0430\u0439\u043d\u0435 \u0432\u044b\u0441\u043e\u043a\u043e\u0439. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0430\u0440\u0441\u0438\u043d\u0433 4000 \u043b\u043e\u0442\u043e\u0432 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u0432\u0441\u0435\u0433\u043e ~0.2 \u0441\u0435\u043a\u0443\u043d\u0434\u044b!\n\n### \u2705 \u0423\u0434\u043e\u0431\u0441\u0442\u0432\u043e\n\u041f\u0430\u0440\u0441\u0435\u0440\u044b \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0442 HTML \u0432 \u0443\u0434\u043e\u0431\u043d\u044b\u0435 \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u0442\u0430\u043a\u043b\u0430\u0441\u0441\u044b.\n\n### \ud83d\udcca \u041f\u043e\u043a\u0440\u044b\u0442\u0438\u0435\n\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e FunPay Parser \u043c\u043e\u0436\u043d\u043e \u0441\u043f\u0430\u0440\u0441\u0438\u0442\u044c 99% \u0432\u0441\u0435\u0445 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439 FunPay. \u041d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0431\u0435\u0439\u0434\u0436\u0438\u043a\u043e\u0432 \u0438 \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u044f \u0446\u0435\u043b\u044b\u043c\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u043c\u0438.\n\n### \ud83d\udee0\ufe0f \u041d\u0430\u0434\u0451\u0436\u043d\u043e\u0441\u0442\u044c\n\u0414\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u043f\u0430\u0440\u0441\u0435\u0440\u043e\u0432 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043f\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u0441\u0442-\u043a\u0435\u0439\u0441\u043e\u0432, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c HTML [FunPay](https://funpay.com).\n\n### \ud83e\uddea \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 MyPy\nFunPay Parsers \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 Mypy \u0438 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u0433\u0443\u044e \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0442\u0438\u043f\u0438\u0437\u0430\u0446\u0438\u044e \u0434\u043b\u044f \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u044f \u043d\u0430\u0434\u0451\u0436\u043d\u043e\u0441\u0442\u0438 \u043a\u043e\u0434\u0430.\n\n## \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\n```commandline\npip install funpayparsers\n```\n\n## \u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f\n```python\nfrom funpayparsers.parsers.page_parsers import MainPageParser\nimport requests\n\nhtml = requests.get('https://funpay.com').content.decode()\nmain_page = MainPageParser(html).parse()\n\nfor i in main_page.categories:\n    print(f'{i.full_name} (ID: {i.id})')\n```\n```\nAbyss of Dungeons (ID: 754)\nAcrobat (ID: 655)\nAdobe (ID: 652)\nAFK Arena (ID: 250)\nAFK Journey (ID: 503)\nAfter Effects (ID: 654)\nAge of Empires Mobile (ID: 628)\nAge of Mythology: Retold (ID: 534)\nAge of Wonders 4 (ID: 344)\n...\n```\n\n## \ud83d\udde8\ufe0f Telegram \u0447\u0430\u0442\n\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0438 \u043a\u0430\u043a\u0438\u0435-\u043b\u0438\u0431\u043e \u0432\u043e\u043f\u0440\u043e\u0441\u044b, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0437\u0430\u0434\u0430\u0442\u044c \u0438\u0445 \u0432 \u043d\u0430\u0448\u0435\u043c [Telegram \u0447\u0430\u0442\u0435](https://t.me/funpay_hub)\n\n\n## \u2b50 \u041f\u043e\u043d\u0440\u0430\u0432\u0438\u043b\u0441\u044f \u043f\u0440\u043e\u0435\u043a\u0442?\n\u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u0430\u0448\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 `funpayparsers` \u0443\u0434\u043e\u0431\u043d\u044b\u043c, \u0431\u0443\u0434\u0435\u043c \u0440\u0430\u0434\u044b, \u0435\u0441\u043b\u0438 \u0432\u044b \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u0435 \u0437\u0432\u0435\u0437\u0434\u0443 \ud83d\ude00\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Set of parsers for FunPay website.",
    "version": "0.1.1",
    "project_urls": {
        "Issues": "https://github.com/funpyahub/funpayparsers/issues",
        "Repository": "https://github.com/funpayhub/funpayparsers",
        "Telegram Channel": "https://t.me/funpay_hub"
    },
    "split_keywords": [
        "api",
        " bot",
        " funpay",
        " funpayapi",
        " funpaybot",
        " funpayparser",
        " parser"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b5c22bd0a6f3361b67b88e2f51079d3fe9c52a3f2e69fa96068d7e13d981cedf",
                "md5": "d47095f4e209eff0d4069f16e2f6e159",
                "sha256": "07d95925795bd67e9ecfa41fbea48fa046d9d75ec2a143172efdafd995193aca"
            },
            "downloads": -1,
            "filename": "funpayparsers-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d47095f4e209eff0d4069f16e2f6e159",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 61508,
            "upload_time": "2025-07-18T05:41:36",
            "upload_time_iso_8601": "2025-07-18T05:41:36.233396Z",
            "url": "https://files.pythonhosted.org/packages/b5/c2/2bd0a6f3361b67b88e2f51079d3fe9c52a3f2e69fa96068d7e13d981cedf/funpayparsers-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8c3962fc09d1996c673800817d217e5d7fe454906d8d3cd612eeabc441f1884f",
                "md5": "b1e69b24ad582af7b0fc2651535d28c6",
                "sha256": "c3221d55fd5e5043ce8047fcad57ec33b75e596a3e742711388219869af486aa"
            },
            "downloads": -1,
            "filename": "funpayparsers-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "b1e69b24ad582af7b0fc2651535d28c6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 47419,
            "upload_time": "2025-07-18T05:41:37",
            "upload_time_iso_8601": "2025-07-18T05:41:37.669887Z",
            "url": "https://files.pythonhosted.org/packages/8c/39/62fc09d1996c673800817d217e5d7fe454906d8d3cd612eeabc441f1884f/funpayparsers-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-18 05:41:37",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "funpyahub",
    "github_project": "funpayparsers",
    "github_not_found": true,
    "lcname": "funpayparsers"
}
        
Elapsed time: 0.65259s