https://github.com/boyfws/steam-search-parser
Provides asynchronous parser of games from steam
https://github.com/boyfws/steam-search-parser
aiohttp beautifulsoup parser pydantic steam
Last synced: 2 months ago
JSON representation
Provides asynchronous parser of games from steam
- Host: GitHub
- URL: https://github.com/boyfws/steam-search-parser
- Owner: boyfws
- Created: 2024-12-30T20:35:33.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-01-03T19:48:54.000Z (over 1 year ago)
- Last Synced: 2025-03-15T08:58:28.529Z (over 1 year ago)
- Topics: aiohttp, beautifulsoup, parser, pydantic, steam
- Language: Python
- Homepage:
- Size: 60.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Steam Search Parser
Данный проект предоставляет класс `SteamParser` для парсинга данных об играх из поиска Steam.
## Методы
```python
parse(
num_pages: int,
languages: Optional[list[str]] = None,
max_price: Optional[int | str] = None,
hide_free_to_play: Optional[bool] = False,
add_to_url: Optional[str] = ""
) -> list[dict[str, Any]]
```
Асинхронный метод для парсинга игр из Steam.
Полученные данные валидируются с помощью pydantic:
```python
class ResponseFormat(BaseModel):
title: str
link: str
release_date: date
final_price: float
original_price: Optional[float] = None
review_score: str
positive_percentage: int
num_rev: int
platforms: list[str]
developer: list[str]
developer_link: list[str]
publisher: Optional[list[str]] = None
publisher_link: Optional[list[str]] = None
tags: list[str]
```
**Параметры:**
- `num_pages`: Количество страниц для парсинга (на одной странице 25 игр).
- `languages`: Список поддерживаемых языков для игр. Возможные значения можно получить с помощью метода `get_supported_lang`.
- `max_price`: Максимальная цена игры. Может быть целым числом или строкой `'free'`.
- `hide_free_to_play`: Флаг для скрытия бесплатных игр. По умолчанию `False`.
- `add_to_url`: Дополнительная строка, которая будет добавлена к сформированному URL. По умолчанию пустая строка.
**Возвращает:**
- `list[dict]`: Список словарей с информацией о играх. Каждый словарь содержит следующие поля:
- `title`: Название игры.
- `link`: Ссылка на игру.
- `release_date`: Дата выпуска игры.
- `final_price`: Итоговая цена.
- `original_price`: Изначальная цена (если была).
- `review_score`: Оценка игры текстом.
- `positive_percentage`: Процент положительных отзывов.
- `num_rev`: Количество отзывов.
- `platforms`: Список платформ, на которых поддерживается игра.
- `developer`: Список разработчиков.
- `developer_link`: Список ссылок на страницы разработчиков.
- `publisher`: Список издателей.
- `publisher_link`: Список ссылок на страницы издателей.
- `tags`: Список категорий, к которым принадлежит игра.