cianparser


Namecianparser JSON
Version 1.0.4 PyPI version JSON
download
home_pagehttps://github.com/lenarsaitov/cianparser
SummaryParser information from Cian website
upload_time2024-02-20 19:24:52
maintainer
docs_urlNone
authorLenar Saitov
requires_python
licenseMIT
keywords python parser requests cloudscraper beautifulsoup cian realstate
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ### Сбор данных с сайта объявлений об аренде и продаже недвижимости Циан

Cianparser - это библиотека Python 3 (версии 3.8 и выше) для парсинга сайта  [Циан](http://cian.ru).
С его помощью можно получить достаточно подробные и структурированные данные по краткосрочной и долгосрочной аренде, продаже квартир, домов, танхаусов итд.

### Установка
```bash
pip install cianparser
```

### Использование
```python
import cianparser

moscow_parser = cianparser.CianParser(location="Москва")
data = moscow_parser.get_flats(deal_type="sale", rooms=(1, 2), with_saving_csv=True, additional_settings={"start_page":1, "end_page":2})

print(data[0])
```

```
                              Preparing to collect information from pages..
The absolute path to the file: 
 /Users/macbook/some_project/cianparser/cian_flat_sale_1_2_moskva_12_Jan_2024_21_48_43_100892.csv 

The page from which the collection of information begins: 
 https://cian.ru/cat.php?engine_version=2&p=1&with_neighbors=0&region=1&deal_type=sale&offer_type=flat&room1=1&room2=1

Collecting information from pages with list of offers
 1 | 1 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 28. Progress ratio: 50 %. Average price: 45 547 801 rub
 2 | 2 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 56. Progress ratio: 100 %. Average price: 54 040 102 rub

The collection of information from the pages with list of offers is completed
Total number of parsed offers: 56.
{
    "author": "MR Group",
    "author_type": "developer",
    "url": "https://www.cian.ru/sale/flat/292125772/",
    "location": "Москва",
    "deal_type": "sale",
    "accommodation_type": "flat",
    "floor": 20,
    "floors_count": 37,
    "rooms_count": 1,
    "total_meters": 39.6,
    "price": 28623910,
    "district": "Беговой",
    "street": "Ленинградский проспект",
    "house_number": "вл8",
    "underground": "Белорусская",
    "residential_complex": "Slava"
}
```
### Инициализация
Параметры, используемые при инициализации парсера через функциою CianParser:
* __location__ - локация объявления, к примеру, _Москва_ (для просмотра доступных мест используйте _cianparser.list_locations())_
* __proxies__ - прокси (см раздел __Cloudflare, CloudScraper, Proxy__), по умолчанию _None_

### Метод get_flats
Данный метод принимает следующий аргументы:
* __deal_type__ - тип объявления, к примеру, долгосрочная аренда, продажа _("rent_long", "sale")_
* __rooms__ - количество комнат, к примеру, _1, (1,3, "studio"), "studio, "all"_; по умолчанию любое _("all")_
* __with_saving_csv__ - необходимо ли сохранение собираемых данных (в реальном времени в процессе сбора данных) или нет, по умолчанию _False_
* __with_extra_data__ - необходимо ли сбор дополнительных данных, но с кратным продолжительности по времени (см. ниже в __Примечании__), по умолчанию _False_
* __additional_settings__ - дополнительные настройки поиска (см. ниже в __Дополнительные настройки поиска__), по умолчанию _None_

Пример:
```python
import cianparser

moscow_parser = cianparser.CianParser(location="Москва")
data = moscow_parser.get_flats(deal_type="rent_long", rooms=(1, 2), additional_settings={"start_page":1, "end_page":1})
```

В проекте предусмотрен функционал корректного завершения в случае окончания страниц. По данному моменту, следует изучить раздел __Ограничения__

### Метод get_suburban (сбор объявлений домов/участков/танхаусав итп)
Данный метод принимает следующий аргументы:
* __suburban_type__ - тип здания, к примеру, дом/дача, часть дома, участок, танхаус _("house", "house-part", "land-plot", "townhouse")_
* __deal_type__ - тип объявления, к примеру, долгосрочная аренда, продажа _("rent_long", "sale")_
* __with_saving_csv__ - необходимо ли сохранение собираемых данных (в реальном времени в процессе сбора данных) или нет, по умолчанию _False_
* __with_extra_data__ - необходимо ли сбор дополнительных данных, но с кратным продолжительности по времени, по умолчанию _False_
* __additional_settings__ - дополнительные настройки поиска (см. ниже в __Дополнительные настройки поиска__), по умолчанию _None_

Пример:
```python
import cianparser

moscow_parser = cianparser.CianParser(location="Москва")
data = moscow_parser.get_suburban(suburban_type="townhouse", deal_type="sale", additional_settings={"start_page":1, "end_page":1})
```

### Метод get_newobjects (сбор даннных по новостройкам)
Данный метод принимает следующий аргументы:
* __with_saving_csv__ - необходимо ли сохранение собираемых данных (в реальном времени в процессе сбора данных) или нет, по умолчанию _False_

Пример:
```python
import cianparser

moscow_parser = cianparser.CianParser(location="Москва")
data = moscow_parser.get_newobjects()
```

### Дополнительные настройки поиска
Пример:
```python
additional_settings = {
    "start_page":1,
    "end_page": 10,
    "is_by_homeowner": True,
    "min_price": 1000000,
    "max_price": 10000000,
    "min_balconies": 1,
    "have_loggia": True,
    "min_house_year": 1990,
    "max_house_year": 2023,
    "min_floor": 3,
    "max_floor": 4,
    "min_total_floor": 5,
    "max_total_floor": 10,
    "house_material_type": 1,
    "metro": "Московский",
    "metro_station": "ВДНХ",
    "metro_foot_minute": 45,
    "flat_share": 2,
    "only_flat": True,
    "only_apartment": True,
    "sort_by": "price_from_min_to_max",
}
```
* __object_type__ -  тип жилья ("new" - вторичка, "secondary" - новостройка)
* __start_page__ - страница, с которого начинается сбор данных
* __end_page__ - страница, с которого заканчивается сбор данных
* __is_by_homeowner__ - объявления, созданных только собственниками
* __min_price__ - цена от (в рублях)
* __max_price__ - цена до (в рублях)
* __min_balconies__ - минимальное количество балконов
* __have_loggia__ - наличие лоджи
* __min_house_year__ - год постройки дома от
* __max_house_year__ - год постройки дома до
* __min_floor__ - этаж от
* __max_floor__ - этаж до
* __min_total_floor__ - этажей в доме от
* __max_total_floor__ - этажей в доме до
* __house_material_type__ - тип дома (_см ниже возможные значения_)
* __metro__ - название метрополитена (_см ниже возможные значения_)
* __metro_station__ - станция метро (доступно при заданом metro)
* __metro_foot_minute__ - сколько минут до метро пешком
* __flat_share__ - с долями или без (1 - только доли, 2 - без долей)
* __only_flat__ - без апартаментов
* __only_apartment__ - только апартаменты
* __sort_by__ - сортировка объявлений (_см ниже возможные значения_)

#### Возможные значения поля **house_material_type**
- _1_ - киричный
- _2_ - монолитный
- _3_ - панельный
- _4_ - блочный
- _5_ - деревянный
- _6_ - сталинский
- _7_ - щитовой
- _8_ - кирпично-монолитный

#### Возможные значения полей **metro** и **metro_station**
Соответствуют ключам и значениям словаря, получаемого вызовом функции **_cianparser.list_metro_stations()_**

#### Возможные значения поля **sort_by**
- "_price_from_min_to_max_" - сортировка по цене (сначала дешевле)
- "_price_from_max_to_min_" - сортировка по цене (сначала дороже)
- "_total_meters_from_max_to_min_" - сортировка по общей площади (сначала больше)
- "_creation_data_from_newer_to_older_" - сортировка по дате добавления (сначала новые)
- "_creation_data_from_older_to_newer_" - сортировка по дате добавления (сначала старые)

### Признаки, получаемые в ходе сбора данных с предложений по долгосрочной аренде недвижимости
* __district__ - район
* __underground__ - метро
* __street__ - улица
* __house_number__ - номер дома
* __floor__ - этаж
* __floors_count__ - общее количество этажей
* __total_meters__ - общая площадь
* __living_meters__ - жилая площади
* __kitchen_meters__ - площадь кухни
* __rooms_count__ - количество комнат
* __year_construction__ - год постройки здания
* __house_material_type__ - тип дома (киричный/монолитный/панельный итд)
* __heating_type__ - тип отопления
* __price_per_month__ - стоимость в месяц
* __commissions__ - комиссия, взымаемая при заселении
* __author__ - автор объявления
* __author_type__ - тип автора 
* __phone__ - номер телефона в объявлении
* __url__ - ссылка на объявление

Возможные значения поля __author_type__:
- __real_estate_agent__ - агентство недвижимости
- __homeowner__ - собственник
- __realtor__ - риелтор
- __official_representative__ - ук оф.представитель
- __representative_developer__ - представитель застройщика
- __developer__ - застройщик
- __unknown__ - без указанного типа

### Признаки, получаемые в ходе сбора данных с предложений по продаже недвижимости

Признаки __аналогичны__ вышеописанным, кроме отсутствия полей __price_per_month__ и __commissions__.

При этом появляются новые:
* __price__ - стоимость недвижимости
* __residential_complex__ - название жилого комплекса
* __object_type__ -  тип жилья (вторичка/новостройка)
* __finish_type__ - отделка

### Признаки, получаемые в ходе сбора данных по новостройкам
* __name__ - наименование ЖК
* __url__ - ссылка на страницу
* __full_location_address__ - полный адрес расположения ЖК
* __year_of_construction__ - год сдачи
* __house_material_type__ - тип дома (_см выше возможные значения_)
* __finish_type__ - отделка
* __ceiling_height__ - высота потолка
* __class__ - класс жилья
* __parking_type__ - тип парковки
* __floors_from__ - этажность (от)
* __floors_to__ - этажность (до)
* __builder__ - застройщик

### Сохранение данных
Имеется возможность сохранения собираемых данных в режиме реального времени. Для этого необходимо подставить в аргументе 
__with_saving_csv__ значение ___True___.

#### Пример получаемого файла при вызове метода __get_flats__ с __with_extra_data__ = __True__:

```bash
cian_flat_sale_1_1_moskva_12_Jan_2024_22_29_48_117413.csv
```
| author | author_type | url | location | deal_type | accommodation_type | floor | floors_count | rooms_count | total_meters | price_per_m2 | price | year_of_construction | object_type | house_material_type | heating_type | finish_type | living_meters | kitchen_meters | phone | district | street | house_number | underground | residential_complex
| ------ | ------ | ------ | ------ | ------ | ------ | ----------- | ---- | ---- | --------- | ------------------ | ----- | ------------ | ----------- | ------------ | --------------- | ----------- | ----------- | -------------------- | --- | --- | --- | --- | --- | ---
| White and Broughton | real_estate_agent | https://www.cian.ru/sale/flat/290499455/ | Москва | sale | flat | 3 | 40 | 1 | 45.5 | 709890 | 32300000 | 2021 | Вторичка | Монолитный | Центральное | -1 | 19.0 | 6.0 | +79646331510 | Хорошевский | Ленинградский проспект | 37/4 | Динамо | Прайм Парк
| ФСК | developer | https://www.cian.ru/sale/flat/288376323/ | Москва | sale | flat | 24 | 47 | 2 | 46.0 | 528900 | 24329400 | 2024 | Новостройка | Монолитно-кирпичный | -1 | Без отделки, предчистовая, чистовая | 18.0 | 15.0 | +74951387154 | Обручевский |  Академика Волгина | 2С1 | Калужская | Архитектор
| White and Broughton | real_estate_agent | https://www.cian.ru/sale/flat/292416804/ | Москва | sale | flat | 2 | 41 | 2 | 60.0 | 783333 | 47000000 | 2021 | Вторичка | -1 | Центральное | -1 | 43.0 | 5.0 | +79646331510 | Хорошевский | Ленинградский проспект | 37/5 | Динамо | Прайм Парк

#### Пример получаемого файла при вызове метода __get_suburban__ с __with_extra_data__ = __True__:

```bash
cian_suburban_townhouse_sale_15_15_moskva_13_Jan_2024_04_30_47_963046.csv
```
| author | author_type | url | location | deal_type | accommodation_type | price | year_of_construction | house_material_type | land_plot | land_plot_status | heating_type | gas_type | water_supply_type | sewage_system | bathroom | living_meters | floors_count | phone | district | underground | street | house_number
 | -----  | -----  | -----  | -----  | -----  | -----  | -----  | -----  | -----  | ----- | ------------ | ----------- | ------------ | --------------- | ----------- | ----------- | -------------------- | --- | --- | --- | --- | --- | ---
| New Moscow House | real_estate_agent | https://www.cian.ru/sale/suburban/296304861/ | Москва | sale | suburban | 93000000 | 2020 | Кирпичный | 13 сот. | -1 | -1 | Есть | Есть | Есть | В доме | -1 | 2 | +79096865868 | Первомайское поселение |  | улица Центральная | 21
| LaRichesse | real_estate_agent | https://www.cian.ru/sale/suburban/290335502/ | Москва | sale | suburban | 95000000 | -1 | Пенобетонный блок | 12 сот. | Индивидуальное жилищное строительство | Центральное | -1 | -1 | -1 | -1 | 502,8 м² | 2 | +79652502027 | Воскресенское поселение |  | улица Каменка | 44Ас1
| Динара Ваганова | realtor | https://www.cian.ru/sale/suburban/293424451/ | Москва | sale | suburban | 21990000 | -1 | -1 | -1 | Индивидуальное жилищное строительство | -1 | Нет | -1 | Нет | -1 | -1 | -1 | +79672093870 | Первомайское поселение | м. Крёкшино |  |

#### Пример получаемого файла при вызове метода __get_newobjects__:

```bash
cian_newobject_13_Jan_2024_01_27_32_734734.csv
```
| name | location | accommodation_type | url | full_location_address | year_of_construction | house_material_type | finish_type | ceiling_height | class | parking_type | floors_from | floors_to | builder
 | ----- | ------------ | ----------- | ------------ | --------------- | ----------- | ----------- | -------------------- | --- | --- | --- | --- | --- | ---
| ЖК «SYMPHONY 34 (Симфони 34)» | Москва | newobject | https://zhk-symphony-34-i.cian.ru | Москва, САО, Савеловский, 2-я Хуторская ул., 34 | 2025 | Монолитный | Предчистовая, чистовая | 3,0 м | Премиум | Подземная, гостевая | 36 | 54 | Застройщик MR Group
| ЖК «Коллекция клубных особняков Ильинка 3/8» | Москва | newobject | https://zhk-kollekciya-klubnyh-osobnyakov-ilinka-38-i.cian.ru | Москва, ЦАО, Тверской, ул. Ильинка | 2024 | Монолитно-кирпичный, монолитный | Без отделки | от 3,35 м до 6,0 м | Премиум | Подземная, гостевая | 3 | 5 | Застройщик Sminex-Интеко
| ЖК «Victory Park Residences (Виктори Парк Резиденсез)» | Москва | newobject | https://zhk-victory-park-residences-i.cian.ru | Москва, ЗАО, Дорогомилово, ул. Братьев Фонченко | 2024 | Монолитный | Чистовая | — | Премиум | Подземная | 10 | 11 | Застройщик ANT Development


### Cloudflare, CloudScraper, Proxy
Для обхода блокировки в проекте задействован **CloudScraper** (библиотека **cloudscraper**), который позволяет успешно обходить защиту **Cloudflare**.

Вместе с тем, это не гарантирует отсутствие возможности появления _у некоторых пользователей_ теста **CAPTCHA** при долговременном непрерывном использовании.

#### Proxy
Поэтому была предоставлена возможность проставлять прокси, используя аргумент **proxies** (_список прокси протокола HTTPS_)

Пример:
```python
proxies = [
    '117.250.3.58:8080', 
    '115.96.208.124:8080',
    '152.67.0.109:80', 
    '45.87.68.2:15321', 
    '68.178.170.59:80', 
    '20.235.104.105:3729', 
    '195.201.34.206:80',
]
```

В процессе запуска утилита проходится по всем из них, пытаясь определить подходящий, то есть тот, 
который может, во первых, делать запросы, во вторых, не иметь тест **_CAPTCHA_**

Пример лога, в котором представлено все три возможных кейса

```
The process of checking the proxies... Search an available one among them...
 1 | proxy 46.47.197.210:3128: unavailable.. trying another
 2 | proxy 213.184.153.66:8080: there is captcha.. trying another
 3 | proxy 95.66.138.21:8880: available.. stop searching
```

### Ограничения
Сайт выдает списки с объявлениями <ins>__лишь до 54 странцы включительно__</ins>. Это примерно _28 * 54 = 1512_ объявлений.
Поэтому, если имеется желание собрать как можно больше данных, то следует использовать более конкретные запросы (по количеству комнат). 

К примеру, вместо того, чтобы при использовании указывать _rooms=(1, 2)_, стоит два раза отдельно собирать данные с параметрами _rooms=1_ и _rooms=2_ соответственно.

Таким образом, максимальная разница может составить 1 к 6 (студия, 1, 2, 3, 4, 5 комнатные квартиры), то есть 1512 к 9072.

### Примечание
1. В некоторых объявлениях отсутсвуют данные по некоторым признакам (_год постройки, жилые кв метры, кв метры кухни итп_).
В этом случае проставляется значение ___-1___ либо ___пустая строка___ для числового и строкового типа поля соответственно.

2. Для отсутствия блокировки по __IP__ в данном проекте задана пауза (___в размере 4-5 секунд___) после сбора информации с
каждой отдельной взятой страницы.

3. Не рекомендутся производить несколько процессов сбора данных параллельно (одновременно) на одной машине (см. пункт 2).

4. Имеется флаг __with_extra_data__, при помощи которого можно дополнительно собирать некоторые данные, но при этом существенно (___в 5-10 раз___) замедляется процесс по времени, из-за необходимости заходить на каждую страницу с предложением. 
Соответствующие данные: ___площадь кухни, год постройки здания, тип дома, тип отделки, тип отопления, тип жилья___  и ___номер телефона___.

5. Данный парсер не будет работать в таком инструменте как [Google Colaboratory](https://colab.research.google.com/). 
См. [подробности](https://github.com/lenarsaitov/cianparser/issues/1)

6. Если в проекте не имеется подходящего локации (неожидаемое значение аргумента __location__) или иными словами его нет в списке **_cianparser.list_locations()_**, то прошу сообщить, буду рад добавить.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/lenarsaitov/cianparser",
    "name": "cianparser",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "python parser requests cloudscraper beautifulsoup cian realstate",
    "author": "Lenar Saitov",
    "author_email": "lenarsaitov1@yandex.ru",
    "download_url": "https://files.pythonhosted.org/packages/dc/fe/7caabc7c3526cf6659d53aec546e601e612c37f3986736465c9a8aac0aab/cianparser-1.0.4.tar.gz",
    "platform": null,
    "description": "### \u0421\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u0441\u0430\u0439\u0442\u0430 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0439 \u043e\u0431 \u0430\u0440\u0435\u043d\u0434\u0435 \u0438 \u043f\u0440\u043e\u0434\u0430\u0436\u0435 \u043d\u0435\u0434\u0432\u0438\u0436\u0438\u043c\u043e\u0441\u0442\u0438 \u0426\u0438\u0430\u043d\n\nCianparser - \u044d\u0442\u043e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Python 3 (\u0432\u0435\u0440\u0441\u0438\u0438 3.8 \u0438 \u0432\u044b\u0448\u0435) \u0434\u043b\u044f \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0430 \u0441\u0430\u0439\u0442\u0430  [\u0426\u0438\u0430\u043d](http://cian.ru).\n\u0421 \u0435\u0433\u043e \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u043e\u0434\u0440\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\u043d\u043d\u044b\u0435 \u043f\u043e \u043a\u0440\u0430\u0442\u043a\u043e\u0441\u0440\u043e\u0447\u043d\u043e\u0439 \u0438 \u0434\u043e\u043b\u0433\u043e\u0441\u0440\u043e\u0447\u043d\u043e\u0439 \u0430\u0440\u0435\u043d\u0434\u0435, \u043f\u0440\u043e\u0434\u0430\u0436\u0435 \u043a\u0432\u0430\u0440\u0442\u0438\u0440, \u0434\u043e\u043c\u043e\u0432, \u0442\u0430\u043d\u0445\u0430\u0443\u0441\u043e\u0432 \u0438\u0442\u0434.\n\n### \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\n```bash\npip install cianparser\n```\n\n### \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\n```python\nimport cianparser\n\nmoscow_parser = cianparser.CianParser(location=\"\u041c\u043e\u0441\u043a\u0432\u0430\")\ndata = moscow_parser.get_flats(deal_type=\"sale\", rooms=(1, 2), with_saving_csv=True, additional_settings={\"start_page\":1, \"end_page\":2})\n\nprint(data[0])\n```\n\n```\n                              Preparing to collect information from pages..\nThe absolute path to the file: \n /Users/macbook/some_project/cianparser/cian_flat_sale_1_2_moskva_12_Jan_2024_21_48_43_100892.csv \n\nThe page from which the collection of information begins: \n https://cian.ru/cat.php?engine_version=2&p=1&with_neighbors=0&region=1&deal_type=sale&offer_type=flat&room1=1&room2=1\n\nCollecting information from pages with list of offers\n 1 | 1 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 28. Progress ratio: 50 %. Average price: 45 547 801 rub\n 2 | 2 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 56. Progress ratio: 100 %. Average price: 54 040 102 rub\n\nThe collection of information from the pages with list of offers is completed\nTotal number of parsed offers: 56.\n{\n    \"author\": \"MR Group\",\n    \"author_type\": \"developer\",\n    \"url\": \"https://www.cian.ru/sale/flat/292125772/\",\n    \"location\": \"\u041c\u043e\u0441\u043a\u0432\u0430\",\n    \"deal_type\": \"sale\",\n    \"accommodation_type\": \"flat\",\n    \"floor\": 20,\n    \"floors_count\": 37,\n    \"rooms_count\": 1,\n    \"total_meters\": 39.6,\n    \"price\": 28623910,\n    \"district\": \"\u0411\u0435\u0433\u043e\u0432\u043e\u0439\",\n    \"street\": \"\u041b\u0435\u043d\u0438\u043d\u0433\u0440\u0430\u0434\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0441\u043f\u0435\u043a\u0442\",\n    \"house_number\": \"\u0432\u043b8\",\n    \"underground\": \"\u0411\u0435\u043b\u043e\u0440\u0443\u0441\u0441\u043a\u0430\u044f\",\n    \"residential_complex\": \"Slava\"\n}\n```\n### \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\n\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u043f\u0440\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0430\u0440\u0441\u0435\u0440\u0430 \u0447\u0435\u0440\u0435\u0437 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u044e CianParser:\n* __location__ - \u043b\u043e\u043a\u0430\u0446\u0438\u044f \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f, \u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443, _\u041c\u043e\u0441\u043a\u0432\u0430_ (\u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043c\u0435\u0441\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 _cianparser.list_locations())_\n* __proxies__ - \u043f\u0440\u043e\u043a\u0441\u0438 (\u0441\u043c \u0440\u0430\u0437\u0434\u0435\u043b __Cloudflare, CloudScraper, Proxy__), \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e _None_\n\n### \u041c\u0435\u0442\u043e\u0434 get_flats\n\u0414\u0430\u043d\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b:\n* __deal_type__ - \u0442\u0438\u043f \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f, \u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443, \u0434\u043e\u043b\u0433\u043e\u0441\u0440\u043e\u0447\u043d\u0430\u044f \u0430\u0440\u0435\u043d\u0434\u0430, \u043f\u0440\u043e\u0434\u0430\u0436\u0430 _(\"rent_long\", \"sale\")_\n* __rooms__ - \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043e\u043c\u043d\u0430\u0442, \u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443, _1, (1,3, \"studio\"), \"studio, \"all\"_; \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043b\u044e\u0431\u043e\u0435 _(\"all\")_\n* __with_saving_csv__ - \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043b\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 (\u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0441\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445) \u0438\u043b\u0438 \u043d\u0435\u0442, \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e _False_\n* __with_extra_data__ - \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043b\u0438 \u0441\u0431\u043e\u0440 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u043e \u0441 \u043a\u0440\u0430\u0442\u043d\u044b\u043c \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043f\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 (\u0441\u043c. \u043d\u0438\u0436\u0435 \u0432 __\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0438__), \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e _False_\n* __additional_settings__ - \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e\u0438\u0441\u043a\u0430 (\u0441\u043c. \u043d\u0438\u0436\u0435 \u0432 __\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e\u0438\u0441\u043a\u0430__), \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e _None_\n\n\u041f\u0440\u0438\u043c\u0435\u0440:\n```python\nimport cianparser\n\nmoscow_parser = cianparser.CianParser(location=\"\u041c\u043e\u0441\u043a\u0432\u0430\")\ndata = moscow_parser.get_flats(deal_type=\"rent_long\", rooms=(1, 2), additional_settings={\"start_page\":1, \"end_page\":1})\n```\n\n\u0412 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0433\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446. \u041f\u043e \u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u043c\u043e\u043c\u0435\u043d\u0442\u0443, \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0438\u0437\u0443\u0447\u0438\u0442\u044c \u0440\u0430\u0437\u0434\u0435\u043b __\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f__\n\n### \u041c\u0435\u0442\u043e\u0434 get_suburban (\u0441\u0431\u043e\u0440 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0439 \u0434\u043e\u043c\u043e\u0432/\u0443\u0447\u0430\u0441\u0442\u043a\u043e\u0432/\u0442\u0430\u043d\u0445\u0430\u0443\u0441\u0430\u0432 \u0438\u0442\u043f)\n\u0414\u0430\u043d\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b:\n* __suburban_type__ - \u0442\u0438\u043f \u0437\u0434\u0430\u043d\u0438\u044f, \u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443, \u0434\u043e\u043c/\u0434\u0430\u0447\u0430, \u0447\u0430\u0441\u0442\u044c \u0434\u043e\u043c\u0430, \u0443\u0447\u0430\u0441\u0442\u043e\u043a, \u0442\u0430\u043d\u0445\u0430\u0443\u0441 _(\"house\", \"house-part\", \"land-plot\", \"townhouse\")_\n* __deal_type__ - \u0442\u0438\u043f \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f, \u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443, \u0434\u043e\u043b\u0433\u043e\u0441\u0440\u043e\u0447\u043d\u0430\u044f \u0430\u0440\u0435\u043d\u0434\u0430, \u043f\u0440\u043e\u0434\u0430\u0436\u0430 _(\"rent_long\", \"sale\")_\n* __with_saving_csv__ - \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043b\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 (\u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0441\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445) \u0438\u043b\u0438 \u043d\u0435\u0442, \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e _False_\n* __with_extra_data__ - \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043b\u0438 \u0441\u0431\u043e\u0440 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u043e \u0441 \u043a\u0440\u0430\u0442\u043d\u044b\u043c \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043f\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e _False_\n* __additional_settings__ - \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e\u0438\u0441\u043a\u0430 (\u0441\u043c. \u043d\u0438\u0436\u0435 \u0432 __\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e\u0438\u0441\u043a\u0430__), \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e _None_\n\n\u041f\u0440\u0438\u043c\u0435\u0440:\n```python\nimport cianparser\n\nmoscow_parser = cianparser.CianParser(location=\"\u041c\u043e\u0441\u043a\u0432\u0430\")\ndata = moscow_parser.get_suburban(suburban_type=\"townhouse\", deal_type=\"sale\", additional_settings={\"start_page\":1, \"end_page\":1})\n```\n\n### \u041c\u0435\u0442\u043e\u0434 get_newobjects (\u0441\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u043d\u044b\u0445 \u043f\u043e \u043d\u043e\u0432\u043e\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c)\n\u0414\u0430\u043d\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b:\n* __with_saving_csv__ - \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043b\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 (\u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0441\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445) \u0438\u043b\u0438 \u043d\u0435\u0442, \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e _False_\n\n\u041f\u0440\u0438\u043c\u0435\u0440:\n```python\nimport cianparser\n\nmoscow_parser = cianparser.CianParser(location=\"\u041c\u043e\u0441\u043a\u0432\u0430\")\ndata = moscow_parser.get_newobjects()\n```\n\n### \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e\u0438\u0441\u043a\u0430\n\u041f\u0440\u0438\u043c\u0435\u0440:\n```python\nadditional_settings = {\n    \"start_page\":1,\n    \"end_page\": 10,\n    \"is_by_homeowner\": True,\n    \"min_price\": 1000000,\n    \"max_price\": 10000000,\n    \"min_balconies\": 1,\n    \"have_loggia\": True,\n    \"min_house_year\": 1990,\n    \"max_house_year\": 2023,\n    \"min_floor\": 3,\n    \"max_floor\": 4,\n    \"min_total_floor\": 5,\n    \"max_total_floor\": 10,\n    \"house_material_type\": 1,\n    \"metro\": \"\u041c\u043e\u0441\u043a\u043e\u0432\u0441\u043a\u0438\u0439\",\n    \"metro_station\": \"\u0412\u0414\u041d\u0425\",\n    \"metro_foot_minute\": 45,\n    \"flat_share\": 2,\n    \"only_flat\": True,\n    \"only_apartment\": True,\n    \"sort_by\": \"price_from_min_to_max\",\n}\n```\n* __object_type__ -  \u0442\u0438\u043f \u0436\u0438\u043b\u044c\u044f (\"new\" - \u0432\u0442\u043e\u0440\u0438\u0447\u043a\u0430, \"secondary\" - \u043d\u043e\u0432\u043e\u0441\u0442\u0440\u043e\u0439\u043a\u0430)\n* __start_page__ - \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445\n* __end_page__ - \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445\n* __is_by_homeowner__ - \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0445 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0438\u043a\u0430\u043c\u0438\n* __min_price__ - \u0446\u0435\u043d\u0430 \u043e\u0442 (\u0432 \u0440\u0443\u0431\u043b\u044f\u0445)\n* __max_price__ - \u0446\u0435\u043d\u0430 \u0434\u043e (\u0432 \u0440\u0443\u0431\u043b\u044f\u0445)\n* __min_balconies__ - \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0431\u0430\u043b\u043a\u043e\u043d\u043e\u0432\n* __have_loggia__ - \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043b\u043e\u0434\u0436\u0438\n* __min_house_year__ - \u0433\u043e\u0434 \u043f\u043e\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0434\u043e\u043c\u0430 \u043e\u0442\n* __max_house_year__ - \u0433\u043e\u0434 \u043f\u043e\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0434\u043e\u043c\u0430 \u0434\u043e\n* __min_floor__ - \u044d\u0442\u0430\u0436 \u043e\u0442\n* __max_floor__ - \u044d\u0442\u0430\u0436 \u0434\u043e\n* __min_total_floor__ - \u044d\u0442\u0430\u0436\u0435\u0439 \u0432 \u0434\u043e\u043c\u0435 \u043e\u0442\n* __max_total_floor__ - \u044d\u0442\u0430\u0436\u0435\u0439 \u0432 \u0434\u043e\u043c\u0435 \u0434\u043e\n* __house_material_type__ - \u0442\u0438\u043f \u0434\u043e\u043c\u0430 (_\u0441\u043c \u043d\u0438\u0436\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f_)\n* __metro__ - \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043c\u0435\u0442\u0440\u043e\u043f\u043e\u043b\u0438\u0442\u0435\u043d\u0430 (_\u0441\u043c \u043d\u0438\u0436\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f_)\n* __metro_station__ - \u0441\u0442\u0430\u043d\u0446\u0438\u044f \u043c\u0435\u0442\u0440\u043e (\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u043f\u0440\u0438 \u0437\u0430\u0434\u0430\u043d\u043e\u043c metro)\n* __metro_foot_minute__ - \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0438\u043d\u0443\u0442 \u0434\u043e \u043c\u0435\u0442\u0440\u043e \u043f\u0435\u0448\u043a\u043e\u043c\n* __flat_share__ - \u0441 \u0434\u043e\u043b\u044f\u043c\u0438 \u0438\u043b\u0438 \u0431\u0435\u0437 (1 - \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043e\u043b\u0438, 2 - \u0431\u0435\u0437 \u0434\u043e\u043b\u0435\u0439)\n* __only_flat__ - \u0431\u0435\u0437 \u0430\u043f\u0430\u0440\u0442\u0430\u043c\u0435\u043d\u0442\u043e\u0432\n* __only_apartment__ - \u0442\u043e\u043b\u044c\u043a\u043e \u0430\u043f\u0430\u0440\u0442\u0430\u043c\u0435\u043d\u0442\u044b\n* __sort_by__ - \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0439 (_\u0441\u043c \u043d\u0438\u0436\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f_)\n\n#### \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u044f **house_material_type**\n- _1_ - \u043a\u0438\u0440\u0438\u0447\u043d\u044b\u0439\n- _2_ - \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u044b\u0439\n- _3_ - \u043f\u0430\u043d\u0435\u043b\u044c\u043d\u044b\u0439\n- _4_ - \u0431\u043b\u043e\u0447\u043d\u044b\u0439\n- _5_ - \u0434\u0435\u0440\u0435\u0432\u044f\u043d\u043d\u044b\u0439\n- _6_ - \u0441\u0442\u0430\u043b\u0438\u043d\u0441\u043a\u0438\u0439\n- _7_ - \u0449\u0438\u0442\u043e\u0432\u043e\u0439\n- _8_ - \u043a\u0438\u0440\u043f\u0438\u0447\u043d\u043e-\u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u044b\u0439\n\n#### \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0435\u0439 **metro** \u0438 **metro_station**\n\u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u043a\u043b\u044e\u0447\u0430\u043c \u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c \u0441\u043b\u043e\u0432\u0430\u0440\u044f, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u043e\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 **_cianparser.list_metro_stations()_**\n\n#### \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u044f **sort_by**\n- \"_price_from_min_to_max_\" - \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u043f\u043e \u0446\u0435\u043d\u0435 (\u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0434\u0435\u0448\u0435\u0432\u043b\u0435)\n- \"_price_from_max_to_min_\" - \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u043f\u043e \u0446\u0435\u043d\u0435 (\u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0434\u043e\u0440\u043e\u0436\u0435)\n- \"_total_meters_from_max_to_min_\" - \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u043f\u043e \u043e\u0431\u0449\u0435\u0439 \u043f\u043b\u043e\u0449\u0430\u0434\u0438 (\u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0431\u043e\u043b\u044c\u0448\u0435)\n- \"_creation_data_from_newer_to_older_\" - \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u043f\u043e \u0434\u0430\u0442\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f (\u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u043e\u0432\u044b\u0435)\n- \"_creation_data_from_older_to_newer_\" - \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u043f\u043e \u0434\u0430\u0442\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f (\u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u0442\u0430\u0440\u044b\u0435)\n\n### \u041f\u0440\u0438\u0437\u043d\u0430\u043a\u0438, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c\u044b\u0435 \u0432 \u0445\u043e\u0434\u0435 \u0441\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043f\u043e \u0434\u043e\u043b\u0433\u043e\u0441\u0440\u043e\u0447\u043d\u043e\u0439 \u0430\u0440\u0435\u043d\u0434\u0435 \u043d\u0435\u0434\u0432\u0438\u0436\u0438\u043c\u043e\u0441\u0442\u0438\n* __district__ - \u0440\u0430\u0439\u043e\u043d\n* __underground__ - \u043c\u0435\u0442\u0440\u043e\n* __street__ - \u0443\u043b\u0438\u0446\u0430\n* __house_number__ - \u043d\u043e\u043c\u0435\u0440 \u0434\u043e\u043c\u0430\n* __floor__ - \u044d\u0442\u0430\u0436\n* __floors_count__ - \u043e\u0431\u0449\u0435\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u044d\u0442\u0430\u0436\u0435\u0439\n* __total_meters__ - \u043e\u0431\u0449\u0430\u044f \u043f\u043b\u043e\u0449\u0430\u0434\u044c\n* __living_meters__ - \u0436\u0438\u043b\u0430\u044f \u043f\u043b\u043e\u0449\u0430\u0434\u0438\n* __kitchen_meters__ - \u043f\u043b\u043e\u0449\u0430\u0434\u044c \u043a\u0443\u0445\u043d\u0438\n* __rooms_count__ - \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043e\u043c\u043d\u0430\u0442\n* __year_construction__ - \u0433\u043e\u0434 \u043f\u043e\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0437\u0434\u0430\u043d\u0438\u044f\n* __house_material_type__ - \u0442\u0438\u043f \u0434\u043e\u043c\u0430 (\u043a\u0438\u0440\u0438\u0447\u043d\u044b\u0439/\u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u044b\u0439/\u043f\u0430\u043d\u0435\u043b\u044c\u043d\u044b\u0439 \u0438\u0442\u0434)\n* __heating_type__ - \u0442\u0438\u043f \u043e\u0442\u043e\u043f\u043b\u0435\u043d\u0438\u044f\n* __price_per_month__ - \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c \u0432 \u043c\u0435\u0441\u044f\u0446\n* __commissions__ - \u043a\u043e\u043c\u0438\u0441\u0441\u0438\u044f, \u0432\u0437\u044b\u043c\u0430\u0435\u043c\u0430\u044f \u043f\u0440\u0438 \u0437\u0430\u0441\u0435\u043b\u0435\u043d\u0438\u0438\n* __author__ - \u0430\u0432\u0442\u043e\u0440 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f\n* __author_type__ - \u0442\u0438\u043f \u0430\u0432\u0442\u043e\u0440\u0430 \n* __phone__ - \u043d\u043e\u043c\u0435\u0440 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430 \u0432 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0438\n* __url__ - \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435\n\n\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u044f __author_type__:\n- __real_estate_agent__ - \u0430\u0433\u0435\u043d\u0442\u0441\u0442\u0432\u043e \u043d\u0435\u0434\u0432\u0438\u0436\u0438\u043c\u043e\u0441\u0442\u0438\n- __homeowner__ - \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0438\u043a\n- __realtor__ - \u0440\u0438\u0435\u043b\u0442\u043e\u0440\n- __official_representative__ - \u0443\u043a \u043e\u0444.\u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043b\u044c\n- __representative_developer__ - \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043b\u044c \u0437\u0430\u0441\u0442\u0440\u043e\u0439\u0449\u0438\u043a\u0430\n- __developer__ - \u0437\u0430\u0441\u0442\u0440\u043e\u0439\u0449\u0438\u043a\n- __unknown__ - \u0431\u0435\u0437 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430\n\n### \u041f\u0440\u0438\u0437\u043d\u0430\u043a\u0438, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c\u044b\u0435 \u0432 \u0445\u043e\u0434\u0435 \u0441\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043f\u043e \u043f\u0440\u043e\u0434\u0430\u0436\u0435 \u043d\u0435\u0434\u0432\u0438\u0436\u0438\u043c\u043e\u0441\u0442\u0438\n\n\u041f\u0440\u0438\u0437\u043d\u0430\u043a\u0438 __\u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b__ \u0432\u044b\u0448\u0435\u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u043c, \u043a\u0440\u043e\u043c\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044f \u043f\u043e\u043b\u0435\u0439 __price_per_month__ \u0438 __commissions__.\n\n\u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u043e\u0432\u044b\u0435:\n* __price__ - \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c \u043d\u0435\u0434\u0432\u0438\u0436\u0438\u043c\u043e\u0441\u0442\u0438\n* __residential_complex__ - \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0436\u0438\u043b\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u0430\n* __object_type__ -  \u0442\u0438\u043f \u0436\u0438\u043b\u044c\u044f (\u0432\u0442\u043e\u0440\u0438\u0447\u043a\u0430/\u043d\u043e\u0432\u043e\u0441\u0442\u0440\u043e\u0439\u043a\u0430)\n* __finish_type__ - \u043e\u0442\u0434\u0435\u043b\u043a\u0430\n\n### \u041f\u0440\u0438\u0437\u043d\u0430\u043a\u0438, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c\u044b\u0435 \u0432 \u0445\u043e\u0434\u0435 \u0441\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e \u043d\u043e\u0432\u043e\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\n* __name__ - \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0416\u041a\n* __url__ - \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443\n* __full_location_address__ - \u043f\u043e\u043b\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0416\u041a\n* __year_of_construction__ - \u0433\u043e\u0434 \u0441\u0434\u0430\u0447\u0438\n* __house_material_type__ - \u0442\u0438\u043f \u0434\u043e\u043c\u0430 (_\u0441\u043c \u0432\u044b\u0448\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f_)\n* __finish_type__ - \u043e\u0442\u0434\u0435\u043b\u043a\u0430\n* __ceiling_height__ - \u0432\u044b\u0441\u043e\u0442\u0430 \u043f\u043e\u0442\u043e\u043b\u043a\u0430\n* __class__ - \u043a\u043b\u0430\u0441\u0441 \u0436\u0438\u043b\u044c\u044f\n* __parking_type__ - \u0442\u0438\u043f \u043f\u0430\u0440\u043a\u043e\u0432\u043a\u0438\n* __floors_from__ - \u044d\u0442\u0430\u0436\u043d\u043e\u0441\u0442\u044c (\u043e\u0442)\n* __floors_to__ - \u044d\u0442\u0430\u0436\u043d\u043e\u0441\u0442\u044c (\u0434\u043e)\n* __builder__ - \u0437\u0430\u0441\u0442\u0440\u043e\u0439\u0449\u0438\u043a\n\n### \u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445\n\u0418\u043c\u0435\u0435\u0442\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0435 \n__with_saving_csv__ \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 ___True___.\n\n#### \u041f\u0440\u0438\u043c\u0435\u0440 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u043c\u0435\u0442\u043e\u0434\u0430 __get_flats__ \u0441 __with_extra_data__ = __True__:\n\n```bash\ncian_flat_sale_1_1_moskva_12_Jan_2024_22_29_48_117413.csv\n```\n| author | author_type | url | location | deal_type | accommodation_type | floor | floors_count | rooms_count | total_meters | price_per_m2 | price | year_of_construction | object_type | house_material_type | heating_type | finish_type | living_meters | kitchen_meters | phone | district | street | house_number | underground | residential_complex\n| ------ | ------ | ------ | ------ | ------ | ------ | ----------- | ---- | ---- | --------- | ------------------ | ----- | ------------ | ----------- | ------------ | --------------- | ----------- | ----------- | -------------------- | --- | --- | --- | --- | --- | ---\n| White and Broughton | real_estate_agent | https://www.cian.ru/sale/flat/290499455/ | \u041c\u043e\u0441\u043a\u0432\u0430 | sale | flat | 3 | 40 | 1 | 45.5 | 709890 | 32300000 | 2021 | \u0412\u0442\u043e\u0440\u0438\u0447\u043a\u0430 | \u041c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u044b\u0439 | \u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u043e\u0435 | -1 | 19.0 | 6.0 | +79646331510 | \u0425\u043e\u0440\u043e\u0448\u0435\u0432\u0441\u043a\u0438\u0439 | \u041b\u0435\u043d\u0438\u043d\u0433\u0440\u0430\u0434\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0441\u043f\u0435\u043a\u0442 | 37/4 | \u0414\u0438\u043d\u0430\u043c\u043e | \u041f\u0440\u0430\u0439\u043c \u041f\u0430\u0440\u043a\n| \u0424\u0421\u041a | developer | https://www.cian.ru/sale/flat/288376323/ | \u041c\u043e\u0441\u043a\u0432\u0430 | sale | flat | 24 | 47 | 2 | 46.0 | 528900 | 24329400 | 2024 | \u041d\u043e\u0432\u043e\u0441\u0442\u0440\u043e\u0439\u043a\u0430 | \u041c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u043e-\u043a\u0438\u0440\u043f\u0438\u0447\u043d\u044b\u0439 | -1 | \u0411\u0435\u0437 \u043e\u0442\u0434\u0435\u043b\u043a\u0438, \u043f\u0440\u0435\u0434\u0447\u0438\u0441\u0442\u043e\u0432\u0430\u044f, \u0447\u0438\u0441\u0442\u043e\u0432\u0430\u044f | 18.0 | 15.0 | +74951387154 | \u041e\u0431\u0440\u0443\u0447\u0435\u0432\u0441\u043a\u0438\u0439 |  \u0410\u043a\u0430\u0434\u0435\u043c\u0438\u043a\u0430 \u0412\u043e\u043b\u0433\u0438\u043d\u0430 | 2\u04211 | \u041a\u0430\u043b\u0443\u0436\u0441\u043a\u0430\u044f | \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440\n| White and Broughton | real_estate_agent | https://www.cian.ru/sale/flat/292416804/ | \u041c\u043e\u0441\u043a\u0432\u0430 | sale | flat | 2 | 41 | 2 | 60.0 | 783333 | 47000000 | 2021 | \u0412\u0442\u043e\u0440\u0438\u0447\u043a\u0430 | -1 | \u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u043e\u0435 | -1 | 43.0 | 5.0 | +79646331510 | \u0425\u043e\u0440\u043e\u0448\u0435\u0432\u0441\u043a\u0438\u0439 | \u041b\u0435\u043d\u0438\u043d\u0433\u0440\u0430\u0434\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0441\u043f\u0435\u043a\u0442 | 37/5 | \u0414\u0438\u043d\u0430\u043c\u043e | \u041f\u0440\u0430\u0439\u043c \u041f\u0430\u0440\u043a\n\n#### \u041f\u0440\u0438\u043c\u0435\u0440 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u043c\u0435\u0442\u043e\u0434\u0430 __get_suburban__ \u0441 __with_extra_data__ = __True__:\n\n```bash\ncian_suburban_townhouse_sale_15_15_moskva_13_Jan_2024_04_30_47_963046.csv\n```\n| author | author_type | url | location | deal_type | accommodation_type | price | year_of_construction | house_material_type | land_plot | land_plot_status | heating_type | gas_type | water_supply_type | sewage_system | bathroom | living_meters | floors_count | phone | district | underground | street | house_number\n | -----  | -----  | -----  | -----  | -----  | -----  | -----  | -----  | -----  | ----- | ------------ | ----------- | ------------ | --------------- | ----------- | ----------- | -------------------- | --- | --- | --- | --- | --- | ---\n| New Moscow House | real_estate_agent | https://www.cian.ru/sale/suburban/296304861/ | \u041c\u043e\u0441\u043a\u0432\u0430 | sale | suburban | 93000000 | 2020 | \u041a\u0438\u0440\u043f\u0438\u0447\u043d\u044b\u0439 | 13\u00a0\u0441\u043e\u0442. | -1 | -1 | \u0415\u0441\u0442\u044c | \u0415\u0441\u0442\u044c | \u0415\u0441\u0442\u044c | \u0412\u00a0\u0434\u043e\u043c\u0435 | -1 | 2 | +79096865868 | \u041f\u0435\u0440\u0432\u043e\u043c\u0430\u0439\u0441\u043a\u043e\u0435 \u043f\u043e\u0441\u0435\u043b\u0435\u043d\u0438\u0435 |  | \u0443\u043b\u0438\u0446\u0430 \u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u0430\u044f | 21\n| LaRichesse | real_estate_agent | https://www.cian.ru/sale/suburban/290335502/ | \u041c\u043e\u0441\u043a\u0432\u0430 | sale | suburban | 95000000 | -1 | \u041f\u0435\u043d\u043e\u0431\u0435\u0442\u043e\u043d\u043d\u044b\u0439 \u0431\u043b\u043e\u043a | 12\u00a0\u0441\u043e\u0442. | \u0418\u043d\u0434\u0438\u0432\u0438\u0434\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u0436\u0438\u043b\u0438\u0449\u043d\u043e\u0435 \u0441\u0442\u0440\u043e\u0438\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e | \u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u043e\u0435 | -1 | -1 | -1 | -1 | 502,8\u00a0\u043c\u00b2 | 2 | +79652502027 | \u0412\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u0441\u043a\u043e\u0435 \u043f\u043e\u0441\u0435\u043b\u0435\u043d\u0438\u0435 |  | \u0443\u043b\u0438\u0446\u0430 \u041a\u0430\u043c\u0435\u043d\u043a\u0430 | 44\u0410\u04411\n| \u0414\u0438\u043d\u0430\u0440\u0430 \u0412\u0430\u0433\u0430\u043d\u043e\u0432\u0430 | realtor | https://www.cian.ru/sale/suburban/293424451/ | \u041c\u043e\u0441\u043a\u0432\u0430 | sale | suburban | 21990000 | -1 | -1 | -1 | \u0418\u043d\u0434\u0438\u0432\u0438\u0434\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u0436\u0438\u043b\u0438\u0449\u043d\u043e\u0435 \u0441\u0442\u0440\u043e\u0438\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e | -1 | \u041d\u0435\u0442 | -1 | \u041d\u0435\u0442 | -1 | -1 | -1 | +79672093870 | \u041f\u0435\u0440\u0432\u043e\u043c\u0430\u0439\u0441\u043a\u043e\u0435 \u043f\u043e\u0441\u0435\u043b\u0435\u043d\u0438\u0435 | \u043c. \u041a\u0440\u0451\u043a\u0448\u0438\u043d\u043e |  |\n\n#### \u041f\u0440\u0438\u043c\u0435\u0440 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u043c\u0435\u0442\u043e\u0434\u0430 __get_newobjects__:\n\n```bash\ncian_newobject_13_Jan_2024_01_27_32_734734.csv\n```\n| name | location | accommodation_type | url | full_location_address | year_of_construction | house_material_type | finish_type | ceiling_height | class | parking_type | floors_from | floors_to | builder\n | ----- | ------------ | ----------- | ------------ | --------------- | ----------- | ----------- | -------------------- | --- | --- | --- | --- | --- | ---\n| \u0416\u041a \u00abSYMPHONY 34 (\u0421\u0438\u043c\u0444\u043e\u043d\u0438 34)\u00bb | \u041c\u043e\u0441\u043a\u0432\u0430 | newobject | https://zhk-symphony-34-i.cian.ru | \u041c\u043e\u0441\u043a\u0432\u0430, \u0421\u0410\u041e, \u0421\u0430\u0432\u0435\u043b\u043e\u0432\u0441\u043a\u0438\u0439, 2-\u044f \u0425\u0443\u0442\u043e\u0440\u0441\u043a\u0430\u044f \u0443\u043b., 34 | 2025 | \u041c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u044b\u0439 | \u041f\u0440\u0435\u0434\u0447\u0438\u0441\u0442\u043e\u0432\u0430\u044f, \u0447\u0438\u0441\u0442\u043e\u0432\u0430\u044f | 3,0 \u043c | \u041f\u0440\u0435\u043c\u0438\u0443\u043c | \u041f\u043e\u0434\u0437\u0435\u043c\u043d\u0430\u044f, \u0433\u043e\u0441\u0442\u0435\u0432\u0430\u044f | 36 | 54 | \u0417\u0430\u0441\u0442\u0440\u043e\u0439\u0449\u0438\u043a MR Group\n| \u0416\u041a \u00ab\u041a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f \u043a\u043b\u0443\u0431\u043d\u044b\u0445 \u043e\u0441\u043e\u0431\u043d\u044f\u043a\u043e\u0432 \u0418\u043b\u044c\u0438\u043d\u043a\u0430 3/8\u00bb | \u041c\u043e\u0441\u043a\u0432\u0430 | newobject | https://zhk-kollekciya-klubnyh-osobnyakov-ilinka-38-i.cian.ru | \u041c\u043e\u0441\u043a\u0432\u0430, \u0426\u0410\u041e, \u0422\u0432\u0435\u0440\u0441\u043a\u043e\u0439, \u0443\u043b. \u0418\u043b\u044c\u0438\u043d\u043a\u0430 | 2024 | \u041c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u043e-\u043a\u0438\u0440\u043f\u0438\u0447\u043d\u044b\u0439, \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u044b\u0439 | \u0411\u0435\u0437 \u043e\u0442\u0434\u0435\u043b\u043a\u0438 | \u043e\u0442 3,35 \u043c \u0434\u043e 6,0 \u043c | \u041f\u0440\u0435\u043c\u0438\u0443\u043c | \u041f\u043e\u0434\u0437\u0435\u043c\u043d\u0430\u044f, \u0433\u043e\u0441\u0442\u0435\u0432\u0430\u044f | 3 | 5 | \u0417\u0430\u0441\u0442\u0440\u043e\u0439\u0449\u0438\u043a Sminex-\u0418\u043d\u0442\u0435\u043a\u043e\n| \u0416\u041a \u00abVictory Park Residences (\u0412\u0438\u043a\u0442\u043e\u0440\u0438 \u041f\u0430\u0440\u043a \u0420\u0435\u0437\u0438\u0434\u0435\u043d\u0441\u0435\u0437)\u00bb | \u041c\u043e\u0441\u043a\u0432\u0430 | newobject | https://zhk-victory-park-residences-i.cian.ru | \u041c\u043e\u0441\u043a\u0432\u0430, \u0417\u0410\u041e, \u0414\u043e\u0440\u043e\u0433\u043e\u043c\u0438\u043b\u043e\u0432\u043e, \u0443\u043b. \u0411\u0440\u0430\u0442\u044c\u0435\u0432 \u0424\u043e\u043d\u0447\u0435\u043d\u043a\u043e | 2024 | \u041c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u044b\u0439 | \u0427\u0438\u0441\u0442\u043e\u0432\u0430\u044f | \u2014 | \u041f\u0440\u0435\u043c\u0438\u0443\u043c | \u041f\u043e\u0434\u0437\u0435\u043c\u043d\u0430\u044f | 10 | 11 | \u0417\u0430\u0441\u0442\u0440\u043e\u0439\u0449\u0438\u043a ANT Development\n\n\n### Cloudflare, CloudScraper, Proxy\n\u0414\u043b\u044f \u043e\u0431\u0445\u043e\u0434\u0430 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043d **CloudScraper** (\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 **cloudscraper**), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043e\u0431\u0445\u043e\u0434\u0438\u0442\u044c \u0437\u0430\u0449\u0438\u0442\u0443 **Cloudflare**.\n\n\u0412\u043c\u0435\u0441\u0442\u0435 \u0441 \u0442\u0435\u043c, \u044d\u0442\u043e \u043d\u0435 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044f _\u0443 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439_ \u0442\u0435\u0441\u0442\u0430 **CAPTCHA** \u043f\u0440\u0438 \u0434\u043e\u043b\u0433\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438.\n\n#### Proxy\n\u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0431\u044b\u043b\u0430 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u0440\u043e\u043a\u0441\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 **proxies** (_\u0441\u043f\u0438\u0441\u043e\u043a \u043f\u0440\u043e\u043a\u0441\u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 HTTPS_)\n\n\u041f\u0440\u0438\u043c\u0435\u0440:\n```python\nproxies = [\n    '117.250.3.58:8080', \n    '115.96.208.124:8080',\n    '152.67.0.109:80', \n    '45.87.68.2:15321', \n    '68.178.170.59:80', \n    '20.235.104.105:3729', \n    '195.201.34.206:80',\n]\n```\n\n\u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0443\u0442\u0438\u043b\u0438\u0442\u0430 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u043e \u0432\u0441\u0435\u043c \u0438\u0437 \u043d\u0438\u0445, \u043f\u044b\u0442\u0430\u044f\u0441\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u0439, \u0442\u043e \u0435\u0441\u0442\u044c \u0442\u043e\u0442, \n\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u0435\u0442, \u0432\u043e \u043f\u0435\u0440\u0432\u044b\u0445, \u0434\u0435\u043b\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u044b, \u0432\u043e \u0432\u0442\u043e\u0440\u044b\u0445, \u043d\u0435 \u0438\u043c\u0435\u0442\u044c \u0442\u0435\u0441\u0442 **_CAPTCHA_**\n\n\u041f\u0440\u0438\u043c\u0435\u0440 \u043b\u043e\u0433\u0430, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e \u0432\u0441\u0435 \u0442\u0440\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u043a\u0435\u0439\u0441\u0430\n\n```\nThe process of checking the proxies... Search an available one among them...\n 1 | proxy 46.47.197.210:3128: unavailable.. trying another\n 2 | proxy 213.184.153.66:8080: there is captcha.. trying another\n 3 | proxy 95.66.138.21:8880: available.. stop searching\n```\n\n### \u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\n\u0421\u0430\u0439\u0442 \u0432\u044b\u0434\u0430\u0435\u0442 \u0441\u043f\u0438\u0441\u043a\u0438 \u0441 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f\u043c\u0438 <ins>__\u043b\u0438\u0448\u044c \u0434\u043e 54 \u0441\u0442\u0440\u0430\u043d\u0446\u044b \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e__</ins>. \u042d\u0442\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e _28 * 54 = 1512_ \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0439.\n\u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u0435\u0441\u043b\u0438 \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0434\u0430\u043d\u043d\u044b\u0445, \u0442\u043e \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b (\u043f\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443 \u043a\u043e\u043c\u043d\u0430\u0442). \n\n\u041a \u043f\u0440\u0438\u043c\u0435\u0440\u0443, \u0432\u043c\u0435\u0441\u0442\u043e \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c _rooms=(1, 2)_, \u0441\u0442\u043e\u0438\u0442 \u0434\u0432\u0430 \u0440\u0430\u0437\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 _rooms=1_ \u0438 _rooms=2_ \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e.\n\n\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c 1 \u043a 6 (\u0441\u0442\u0443\u0434\u0438\u044f, 1, 2, 3, 4, 5 \u043a\u043e\u043c\u043d\u0430\u0442\u043d\u044b\u0435 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u044b), \u0442\u043e \u0435\u0441\u0442\u044c 1512 \u043a 9072.\n\n### \u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435\n1. \u0412 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f\u0445 \u043e\u0442\u0441\u0443\u0442\u0441\u0432\u0443\u044e\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430\u043c (_\u0433\u043e\u0434 \u043f\u043e\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u0436\u0438\u043b\u044b\u0435 \u043a\u0432 \u043c\u0435\u0442\u0440\u044b, \u043a\u0432 \u043c\u0435\u0442\u0440\u044b \u043a\u0443\u0445\u043d\u0438 \u0438\u0442\u043f_).\n\u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0440\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 ___-1___ \u043b\u0438\u0431\u043e ___\u043f\u0443\u0441\u0442\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430___ \u0434\u043b\u044f \u0447\u0438\u0441\u043b\u043e\u0432\u043e\u0433\u043e \u0438 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u043f\u043e\u043b\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e.\n\n2. \u0414\u043b\u044f \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044f \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u043f\u043e __IP__ \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u0437\u0430\u0434\u0430\u043d\u0430 \u043f\u0430\u0443\u0437\u0430 (___\u0432 \u0440\u0430\u0437\u043c\u0435\u0440\u0435 4-5 \u0441\u0435\u043a\u0443\u043d\u0434___) \u043f\u043e\u0441\u043b\u0435 \u0441\u0431\u043e\u0440\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0441\n\u043a\u0430\u0436\u0434\u043e\u0439 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0439 \u0432\u0437\u044f\u0442\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b.\n\n3. \u041d\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0442\u0441\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0441\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e (\u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e) \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 (\u0441\u043c. \u043f\u0443\u043d\u043a\u0442 2).\n\n4. \u0418\u043c\u0435\u0435\u0442\u0441\u044f \u0444\u043b\u0430\u0433 __with_extra_data__, \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e (___\u0432 5-10 \u0440\u0430\u0437___) \u0437\u0430\u043c\u0435\u0434\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0438\u0437-\u0437\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0437\u0430\u0445\u043e\u0434\u0438\u0442\u044c \u043d\u0430 \u043a\u0430\u0436\u0434\u0443\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0441 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c. \n\u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435: ___\u043f\u043b\u043e\u0449\u0430\u0434\u044c \u043a\u0443\u0445\u043d\u0438, \u0433\u043e\u0434 \u043f\u043e\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0437\u0434\u0430\u043d\u0438\u044f, \u0442\u0438\u043f \u0434\u043e\u043c\u0430, \u0442\u0438\u043f \u043e\u0442\u0434\u0435\u043b\u043a\u0438, \u0442\u0438\u043f \u043e\u0442\u043e\u043f\u043b\u0435\u043d\u0438\u044f, \u0442\u0438\u043f \u0436\u0438\u043b\u044c\u044f___  \u0438 ___\u043d\u043e\u043c\u0435\u0440 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430___.\n\n5. \u0414\u0430\u043d\u043d\u044b\u0439 \u043f\u0430\u0440\u0441\u0435\u0440 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432 \u0442\u0430\u043a\u043e\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0435 \u043a\u0430\u043a [Google Colaboratory](https://colab.research.google.com/). \n\u0421\u043c. [\u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438](https://github.com/lenarsaitov/cianparser/issues/1)\n\n6. \u0415\u0441\u043b\u0438 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043d\u0435 \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u043b\u043e\u043a\u0430\u0446\u0438\u0438 (\u043d\u0435\u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430 __location__) \u0438\u043b\u0438 \u0438\u043d\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438 \u0435\u0433\u043e \u043d\u0435\u0442 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 **_cianparser.list_locations()_**, \u0442\u043e \u043f\u0440\u043e\u0448\u0443 \u0441\u043e\u043e\u0431\u0449\u0438\u0442\u044c, \u0431\u0443\u0434\u0443 \u0440\u0430\u0434 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Parser information from Cian website",
    "version": "1.0.4",
    "project_urls": {
        "Homepage": "https://github.com/lenarsaitov/cianparser"
    },
    "split_keywords": [
        "python",
        "parser",
        "requests",
        "cloudscraper",
        "beautifulsoup",
        "cian",
        "realstate"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dcd2f50f0f0f6ba6f306322802a3af67a3611282e079d376a9515297175219e4",
                "md5": "8447cf0721f55e8da98b3b886588e9a4",
                "sha256": "fc66276576bb6d132fe1e39540797e8acb89a6cd83a7504ddd1a2ad4149388a9"
            },
            "downloads": -1,
            "filename": "cianparser-1.0.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8447cf0721f55e8da98b3b886588e9a4",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 32588,
            "upload_time": "2024-02-20T19:24:51",
            "upload_time_iso_8601": "2024-02-20T19:24:51.048789Z",
            "url": "https://files.pythonhosted.org/packages/dc/d2/f50f0f0f6ba6f306322802a3af67a3611282e079d376a9515297175219e4/cianparser-1.0.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dcfe7caabc7c3526cf6659d53aec546e601e612c37f3986736465c9a8aac0aab",
                "md5": "0886309f70bb563304f31aa26870aacd",
                "sha256": "7c81defbb6978aa39d755c8671a1c06c94412349b4fe33a723e89c7e82adb86c"
            },
            "downloads": -1,
            "filename": "cianparser-1.0.4.tar.gz",
            "has_sig": false,
            "md5_digest": "0886309f70bb563304f31aa26870aacd",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 35192,
            "upload_time": "2024-02-20T19:24:52",
            "upload_time_iso_8601": "2024-02-20T19:24:52.682528Z",
            "url": "https://files.pythonhosted.org/packages/dc/fe/7caabc7c3526cf6659d53aec546e601e612c37f3986736465c9a8aac0aab/cianparser-1.0.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-20 19:24:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "lenarsaitov",
    "github_project": "cianparser",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "cianparser"
}
        
Elapsed time: 0.18974s