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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| avito_parser_free-0.1.0.tar.gz | 8.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.