Skip to content

Commit 34e8bec

Browse files
author
lenarsaitov
committed
add object_type, finish_type, house_material_type and heating_type fields
1 parent 2361aea commit 34e8bec

File tree

5 files changed

+26
-6
lines changed

5 files changed

+26
-6
lines changed

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,8 @@ additional_settings = {
154154
* __kitchen_meters__ - площадь кухни
155155
* __rooms_count__ - количество комнат
156156
* __year_construction__ - год постройки здания
157+
* __house_material_type__ - тип дома (киричный/монолитный/панельный итд)
158+
* __heating_type__ - тип отопления
157159
* __price_per_month__ - стоимость в месяц
158160
* __price_per_m2__ - стоимость на квадратный метр
159161
* __commissions__ - комиссия, взымаемая при заселении
@@ -178,6 +180,8 @@ additional_settings = {
178180
При этом появляются новые:
179181
* __price__ - стоимость недвижимости
180182
* __residential_complex__ - название жилого комплекса
183+
* __object_type__ - тип жилья (вторичка/новостройка)
184+
* __finish_type__ - отделка
181185

182186
### Сохранение данных
183187
Имеется возможность сохранения собираемых данных в режиме реального времени. Для этого необходимо подставить в аргументе
@@ -248,7 +252,7 @@ The process of checking the proxies... Search an available one among them...
248252

249253
4. Имеется флаг __is_express_mode__, при помощи которого можно существенно (___в 5-10 раз___) ускорить сбор данных благодаря отсутствию необходимости
250254
заходить на каждую страницу с предложением.
251-
Однако в таком случае <ins>__не будут__</ins> собираться данные о ___площади кухни___, ___годе постройки здания___ и ___номере телефона___.
255+
Однако в таком случае <ins>__не будут__</ins> собираться данные о ___площади кухни___, ___годе постройки здания___, типа дома, типа отделки, типа отопления, типа жилья и ___номере телефона___.
252256

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

cianparser/constants.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444

4545
SPECIFIC_FIELDS_FOR_RENT_LONG = {"price_per_month", "commissions"}
4646
SPECIFIC_FIELDS_FOR_RENT_SHORT = {"price_per_day"}
47-
SPECIFIC_FIELDS_FOR_SALE = {"price", "residential_complex"}
47+
SPECIFIC_FIELDS_FOR_SALE = {"price", "residential_complex", "object_type", "finish_type"}
4848

4949
CITIES = [
5050
['Москва', '1'],
@@ -118,7 +118,7 @@
118118
['Псков', '4946'],
119119
['Пущино', '4949'],
120120
['Реутов', '4958'],
121-
['Ростов-На-Дону', '4959'],
121+
['Ростов-на-Дону', '4959'],
122122
['Рошаль', '4960'],
123123
['Рязань', '4963'],
124124
['Салехард', '4965'],

cianparser/helpers.py

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,10 @@ def parse_page_offer_json(html_offer):
178178

179179
page_data = {
180180
"year_of_construction": -1,
181+
"object_type": -1,
182+
"house_material_type": -1,
183+
"heating_type": -1,
184+
"finish_type": -1,
181185
"living_meters": -1,
182186
"kitchen_meters": -1,
183187
"floor": -1,
@@ -188,9 +192,21 @@ def parse_page_offer_json(html_offer):
188192
spans = soup_offer_page.select("span")
189193

190194
for index, span in enumerate(spans):
191-
if "Год постройки" in span:
195+
if "Год постройки" in span and len(spans[index + 1].text) < 5:
192196
page_data["year_of_construction"] = spans[index + 1].text
193197

198+
if "Тип жилья" == span.text:
199+
page_data["object_type"] = spans[index + 1].text
200+
201+
if "Тип дома" == span.text:
202+
page_data["house_material_type"] = spans[index + 1].text
203+
204+
if "Отопление" == span.text:
205+
page_data["heating_type"] = spans[index + 1].text
206+
207+
if "Отделка" == span.text:
208+
page_data["finish_type"] = spans[index + 1].text
209+
194210
if page_data["year_of_construction"] == -1:
195211
p_tags = soup_offer_page.select("p")
196212

setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[metadata]
22
name = cianparser
3-
version = 0.4.28
3+
version = 0.4.29
44
description = Parser information from Cian website
55
url = https://github.com/lenarsaitov/cianparser
66
author = Lenar Saitov

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
setup(
88
name='cianparser',
9-
version='0.4.28',
9+
version='0.4.29',
1010
description='Parser information from Cian website',
1111
url='https://github.com/lenarsaitov/cianparser',
1212
author='Lenar Saitov',

0 commit comments

Comments
 (0)