Skip to main content

AvitoParserFree

Библиотека для парсинга объявлений с Avito.ru с использованием Playwright.

📌 Особенности

  • Парсинг объявлений по городу, запросу и странице
  • Сбор полной информации об объявлении (заголовок, цена, описание, продавец, доставка и т.д.)
  • Сохранение результатов в JSON базу данных
  • Поддержка куки для обхода ограничений
  • Блокировка загрузки изображений для ускорения работы

🚀 Установка

git clone https://github.com/Sudox00/AvitoParser.git
pip install playwright
playwright install chromium

📖 Использование

import logging
from AvitoParserFree import AvitoPars, Database

ap = AvitoPars(
    headless=True, #False - Показать окно браузера
    slow_mo=0,#Замедление в миллисекундах (по умолчанию 0)
    log=True, #Логирование (Вкл. по умолчанию)
    logging_path="avitopars_log.log", #Путь к файлу куда будет сохраняться лог (по умолчанию "avitopars_log.log")
    logging_level=logging.INFO # Уровень логирования (по умолчанию INFO)
)

# COOKIES от Avito, опционально, но с ним больше шансов на то, что вас не будет банить по IP
COOKIES = {
  #ваши куки :3
}

# user_agent, опционально
user_agent = "Юзер агент"

#Пример использования №1
#Сохраняем 5 страниц в файл tver_1_1.json
city_url = "tver" # Город для поиска
query = "nokia 3310" # Запрос
page = 1 # Страница
localPriority = 1 # # Если 1, то сначала объявления с указанного города, если 0, то сначала рекомендуемые

db = Database(path=f"{city_url}_{page}_{localPriority}.json")
it = ap.search(city_url, query, page, localPriority, COOKIES, user_agent)
for item in it:
    db.write(item)
print("✅ Данные сохранены в базу данных")


#Пример использования №2
#Сохраняем 5 страниц в файл tver_1_5_1.json
city_url = "tver" # Город для поиска
query = "nokia 3310" # Запрос
localPriority = 1 # # Если 1, то сначала объявления с указанного города, если 0, то сначала рекомендуемые

db = Database(path=f"{city_url}_1_5_{localPriority}.json")
for page in range(1, 6): # В данном случае сохраняем с 1 по 5 страницу
    it = ap.search(city_url, query, page, localPriority, COOKIES)
    for item in it:
        db.write(item)
    print(f"✅ Страница {page} сохранена!")

print("✅ Данные сохранены в базу данных")

Структура данных

Каждое объявление содержит следующие поля:

{
    "title": "Nokia 3310, 1 SIM",          # Заголовок
    "price": "2 500 ₽",                    # Цена
    "seller": "Имя продавца",              # Продавец
    "state": "Б/у",                        # Состояние
    "grade": "4.5",                        # Оценка
    "date": "Вчера",                       # Дата публикации
    "description": "Телефон в хорошем состоянии", # Описание
    "delivery": "Доставка от 2 дней",      # Доставка
    "url": "https://www.avito.ru/..."      # Ссылка на объявление
}

Класс AvitoPars

Основной класс для парсинга объявлений.

Методы

search(city_url, query, page, localPriority, COOKIES={}, user_agent=None)

Выполняет поиск объявлений.

Metadata

Release files for avito-parser-free 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for avito-parser-free 0.1.0
File Size Uploaded Provenance
avito_parser_free-0.1.0.tar.gz 8.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for avito-parser-free 0.1.0
File Interpreter ABI Platform
avito_parser_free-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 15.5 kB

Release files / avito_parser_free-0.1.0.tar.gz

Download URL avito_parser_free-0.1.0.tar.gz
Size 8.6 kB
Tags Source
SHA-256 checksum
How to use checksums
235bb48d0ccf4ecd6e08c8cf44b043401829141ed3778cbdbaced3bb001aeee0
BLAKE2b-256 checksum
How to use checksums
9838a76c89e72048bdf6fc00c57dd8a25d0fa7ba8a80ffb16044ddc6866009b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.2

Release files / avito_parser_free-0.1.0-py3-none-any.whl

Download URL avito_parser_free-0.1.0-py3-none-any.whl
Size 6.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d96d3c75dcb49f1c12de581e78763d10de53b3d6910471af7da2e7af1afc8953
BLAKE2b-256 checksum
How to use checksums
0be315040273c5a573d3bb18ce77ff51b9a92a68ad9538e40c9e193a1aea5f9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.2

Security for avito-parser-free 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page