Skip to main content

Parser information from Cian website

Reason this release was yanked:

doesnt save parsing data

Project description

Сбор данных с сайта объявлений об аренде и продаже недвижимости Циан

Cianparser - это библиотека Python 3 для парсинга сайта Циан. С его помощью можно получить достаточно подробные и структурированные данные по краткосрочной и долгосрочной аренде, продаже квартир, домов, танхаусов итд.

Установка

pip install cianparser

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

import cianparser
    
data = cianparser.parse(
    deal_type="rent_long",
    accommodation_type="flat",
    location="Москва",
    rooms=(2, 3),
    start_page=1,
    end_page=2,
    is_saving_csv=True,
    is_latin=False,
    is_express_mode=False,
)

print(data[0])
                              Preparing to collect information from pages..

The absolute path to the file: 
 /Users/macbook/some_project/cian_parsing_result_rent_long_1_2_moskva_04_Feb_2023_06_58_21_765479.csv 

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

Collecting information from pages with list of announcements
1 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of parsed: 27. Progress ratio  50 %
2 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of parsed: 55. Progress ratio 100 %

{  'accommodation_type': 'flat',
   'deal_type': 'rent',
   'city': 'Москва',
   'district': 'Замоскворечье',
   'underground': 'Новокузнецкая',
   'street': 'Космодамианская набережная',
   'floor': 5,
   'floors_count': 12,
   'total_meters': 85.0,
   'living_meters': 55.0,
   'kitchen_meters': 11.0,
   'rooms_count': 3,
   'year_of_construction': '1954',
   'price_per_month': 93000,
   'commissions': 50,
   'author': 'Apple Real Estate',
   'phone': '+79057145354',
   'link': 'https://www.cian.ru/rent/flat/282487326/',
}

Конфигурация

Функция parse имеет следующий аргументы:

  • deal_type - тип объявления, к примеру, долгосрочная, краткосрочная аренда, продажа ("rent_long", "rent_short", "sale")
  • accommodation_type - вид жилья, к примеру, квартира, комната, дом, часть дома, таунхаус ("flat", "room", "house", "house-part", "townhouse")
  • location - локация объявления, к примеру, Казань (для просмотра доступных мест используйте cianparser.list_cities())
  • rooms - количество комнат, к примеру, 1, (1,3, "studio"), "studio, "all"; по умолчанию любое ("all")
  • start_page - страница, с которого начинается сбор данных, по умолчанию, 1
  • end_page - страница, с которого заканчивается сбор данных, по умолчанию, 10
  • is_saving_csv - необходимо ли сохранение собираемых данных (в реальном времени в процессе сбора данных) или нет, по умолчанию False
  • is_latin - необходимо ли преобразывание любой встрещающейся кириллицы в латиницу, по умолчанию False
  • is_express_mode - необходимо ли ускорение (в 5-10 раз) сбор данных (но без трех полей, см примечание), по умолчанию False

В настоящее время функционал доступен только по продажам (sale) и долгосрочном арендам (rent_long) квартир и студий (flat).

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

  • district - район
  • underground - метро
  • street - улица
  • floor - этаж
  • floors_count - общее количество этажей
  • total_meters - общая площадь
  • living_meters - жилая площади
  • kitchen_meters - площадь кухни
  • rooms_count - количество комнат
  • year_construction - год постройки здания
  • price_per_month - стоимость аренды в месяц
  • commissions - комиссия, взымаемая при заселении
  • author - автор объявления
  • phone - номер телефона в объявлении
  • link - ссылка на объявление

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

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

При этом появляются новые:

  • price - стоимость недвижимости
  • residential_complex - название жилого комплекса

Сохранение данных

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

Пример получаемого файла:

cian_parsing_result_rent_long_1_2_moskva_04_Feb_2023_06_58_21_765479.csv
author link city deal_type accommodation_type floor floors_count rooms_count total_meters price_per_month commissions year_of_construction living_meters kitchen_meters phone district street underground
Intermark Real Estate https://www.cian.ru/rent/flat/278903117/ Москва rent flat 4 6 3 50.0 180000 0 1911 32.0 8.0 +79676513428 Пресненский Малый Предтеченский переулок Краснопресненская
Capital Mars https://www.cian.ru/rent/flat/282506328/ Москва rent flat 5 9 2 89.0 180000 0 2006 53.0 15.0 +79660619653 Хамовники 3-я Фрунзенская Спортивная
MERSI https://www.cian.ru/rent/flat/281562376/ Москва rent flat 8 16 2 80.0 200000 0 2012 -1 -1 +79652455850 Замоскворечье Мытная Октябрьская

Примечание

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

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

  3. Имеется флаг is_express_mode, при помощи которого можно существенно (в 5-10 раз) ускорить сбор данных благодаря отсутствию необходимости заходить на каждую страницу с предложением. Однако в таком случае не будут собираться данные о площади кухни, годе постройки здания и номере телефона.

  4. Данный парсер не будет работать в таком инструменте как Google Colaboratory. См. подробности

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cianparser-0.4.8.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

cianparser-0.4.8-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

File details

Details for the file cianparser-0.4.8.tar.gz.

File metadata

  • Download URL: cianparser-0.4.8.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.8

File hashes

Hashes for cianparser-0.4.8.tar.gz
Algorithm Hash digest
SHA256 157632e57d4038a2b83622f53b49bebcd7238d88011d4b56b79d5c1544c4cb14
MD5 2438a75c5b22f360c60fb1d022ac66b0
BLAKE2b-256 80f888c26e834e258dc44cfdad8ee7142eb24844ff05da0c3849411b04d920d0

See more details on using hashes here.

File details

Details for the file cianparser-0.4.8-py3-none-any.whl.

File metadata

  • Download URL: cianparser-0.4.8-py3-none-any.whl
  • Upload date:
  • Size: 14.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.8

File hashes

Hashes for cianparser-0.4.8-py3-none-any.whl
Algorithm Hash digest
SHA256 f675e716dc7013e5564a9a3cbb458b95ace5558ba742571794d5a5fdaee4b667
MD5 2df9bc2c2416c2a896c2cffc119ee7ae
BLAKE2b-256 8c4f7452b947895e45631bb0bcdefef6f141b170c6294fea3c270f57aa1a2628

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page