По заданным параметрам осуществляет поиск и просмотр объявлений:
- Запрашивает данные со страниц предварительного просмотра объявлений. Находит ссылки на страницы с детальным описанием.
- Проходит по страницам с детальным описанием каждого объявления и собирает данные.
- После обхода двадцати объявлений на странице, сохраняет данные в SQLite базу, переходит на следующую страницу.
Реализован выбор параметров поиска, повторяющий функционал сайта.
Для указания параметров поиска, в корневом каталоге проекта находится
файл SEARCH_PARAMETERS.json
.
Клонировать репозиторий:
git clone <https or SSH URL>
Перейти в папку проекта:
cd krisha.kz
Создать виртуальное окружение:
python3 -m venv .venv
Активировать виртуальное окружение:
source .venv/bin/activate
Установить зависимости.
Для использования:
pip install .
Для разработки:
- Установить зависимости в editable режиме:
pip install -e .
- Установить зависимости в editable режиме, с дополнительными инструментами
[project.optional-dependencies]
pip install -e .[test,lint]
Указать параметры поиска в фале SEARCH_PARAMETERS.json. см. примеры
Запустить скрипт:
python -m krisha.main
Отредактировать файл cron.sh, внести путь к директории проекта.
При необходимости, добавить права для выполнения cron.sh
:
chmod +x /<PATH>/krisha.kz/cron.sh
Открыть настройки cron:
crontab -e
Внести запись с настройкой запуска:
# Ежедневный запуск в 12 часов.
0 12 * * * /<PATH>/<PATH>/krisha.kz/cron.sh
city
- Город поиска от 0 до 20;has_photo
- Наличие фото у объявления;furniture
- Наличие мебели в квартире;rooms
- Количество комнат от 1 до 5;price_from
- Стоимость, нижний предел;price_to
- Стоимость, верхний предел;owner
- Объявление опубликовано собственником;
- 0 - Весь Казахстан.
- 1 - Алматы.
- 2 - Астана.
- 3 - Шымкент.
- 4 - Абайская обл.
- 5 - Акмолинская обл.
- 6 - Актюбинская обл.
- 7 - Алматинская обл.
- 8 - Атырауская обл.
- 9 - Восточно-Казахстанская обл.
- 10 - Жамбылская обл.
- 11 - Жетысуская обл.
- 12 - Западно-Казахстанская обл.
- 13 - Карагандинская обл.
- 14 - Костанайская обл.
- 15 - Кызылординская обл.
- 16 - Мангистауская обл.
- 17 - Павлодарская обл.
- 18 - Северо-Казахстанская обл.
- 19 - Туркестанская обл.
- 20 - Улытауская обл.
- Найти однокомнатные квартирами в Алматы. Объявления с фотографиями. Квартиры с мебелью. Стоимость от 100000 до 300000. Объявления от собственников.
{
"city": 1,
"has_photo": true,
"furniture": true,
"rooms": [1],
"price_from": 100000,
"price_to": 300000,
"owner": true
}
- Найти двухкомнатные и трехкомнатные квартиры в Астане. Объявления с фотографиями. Квартиры без мебели. Стоимость до 400000. Объявления от собственников.
{
"city": 2,
"has_photo": true,
"rooms": [2, 3],
"price_to": 400000,
"owner": true
}
- Найти квартиры с любым количеством комнат в Казахстане. Объявления без фотографий. Квартира без мебели. Стоимость от 200000. Объявления от собственников, агентств и частных риэлторов.
{
"price_from": 200000
}
Вернет такой же результат, как пример № 3.
{
"city": 0,
"has_photo": false,
"furniture": false,
"rooms": [0],
"price_from": 200000,
"price_to": null,
"owner": false
}