Приложение "Парсер ADS-API.RU": различия между версиями
Abushyk (обсуждение | вклад) |
Abushyk (обсуждение | вклад) |
||
Строка 82: | Строка 82: | ||
topic_id=38 | topic_id=38 | ||
optype=1 | optype=1 | ||
+ | </pre> | ||
+ | |||
+ | Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила | ||
+ | <pre> | ||
+ | topic_id=78 | ||
+ | lot_type=1 | ||
</pre> | </pre> |
Версия 00:38, 5 июля 2018
Адреса парсинга записываются в отдельной строке в формате
label***url***target_user
label - метка задачи, которая используется при запуске парсинга
url - адрес забора данных
target_user - ID пользователя к которому будут прикреплены объекты
Уникальность объектов сверяется по паре значений uniq_id (значение из данных предоставляемых объектов из поля id) и user_id (целевой пользователь, назначенный в задаче парсинга). Перемещая объект, полученный парсером, между пользователями, Вы разрываете текущую связь и можете получить дублирование одинаковых объектов на разных пользователях.
Настройка
Для указания каким способом и куда сохранять полученные из парсера данные служит раздел настроек приложения Маппер.
Количество комнат в квартире или доме - указываем системное имя поля в модели data для сохранения числового значения. Это значение для типов Квартира и Дом.
Этаж - системное имя поля для хранения значения.
Этажность - системное имя поля для хранения значения.
Координаты - указываем системное имя поля в модели data для сохранения значения. Поле должно иметь тип geodata
Уникальный ID - системное имя поля для хранения ID объекта в базе ads-api.ru. Это значение будет использоваться для проверки был ли загружен данный объект ранее или нет.
Цена аренды - системное имя поля для хранения значения цены для сдаваемых объектов.
Цена продажи - системное имя поля для хранения значения цены для продаваемых объектов.
Валюта цен - ID валюты на сайте, которое соответствует валюте цен из парсера. Так как парсер выдает все цены в рублях, то в этом поле должен быть указан ID рубля из Менеджера валют. Если на сайте цены не указываются посредством поля выбора валют, то это значение может быть пропущено.
Общая площадь (Квартиры\Дома), Общая площадь (Коммерческие объекты), Общая площадь (Гаражи) - системное имя поля для хранения значения общей площади для разных типов объектов. Если в модели объекта под хранение общей площади предназначено одно поле, например "Общая площадь (square_all)", то в каждом из этих полей указывается одно и то же системное имя.
Жилая площадь, Площадь кухни - системные имена полей под хранение соответствующих значений
Площадь участка (отдельного) - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади, когда парсер встретит объект типа Участок.
Площадь участка (при доме) - системное имя поля для хранения площади земельного участка. Это поле будет использовано для записи площади участка, когда парсер встретит объект любого другого типа кроме Участок, но этот объект, кроме своей основной площади, будет снабжен данными о площади участка. Например когда предлагается Дом с участком, коммерческие объекты, которые могут иметь в своем расположении участки.
Описание, Заголовок - системные имена полей под хранение соответствующих значений. Если поля для хранения какого-то значения у Вас не предусмотрено, Вы можете или добавить поле в модель, или не указывать соотв. настройку.
Полный адрес - системное имя поля для хранения строки с полным адресом объекта. Для справки, например.
Номер телефона, Имя контактного лица - системные имена полей под хранение имени и телефона владельца или продавца предоставляемых парсером.
Название источника - системное имя поля для хранения строки с названием источника.
Распределение по типам и контракту
Все объекты из парсера приходят с признаками типа (Квартира, Комната, Дом, Коммерческая, Участок) и контракта (Продажа, Аренда и Посуточно (только Квартира, Комната, Дом)). Необходимо указать имена полей и значения, которые будут присвоены объекту в случае каждого свойства.
Для этого существует набор настроек маппера. Эти настройки построены в виде пар Тип объекта - Тип контракта. Так настройка "Дом/Продажа" устанавливает условия, которые будут применены к загружаемому объекту с типом "Дом" и контрактом "Продажа". Вы не обязаны указывать условия для всех типов-контрактов. Допустимо установить только интересующие Вас. Объекты, для которых не будет найдено условий просто не будут добавлены в базу.
Настройки этого типа указываются в виде пар имя-значение
СИСТЕМНОЕ_ИМЯ_ПОЛЯ=ПРИСВАИВАЕМОЕ_ЗНАЧЕНИЕ
Таких пар можно указать несколько, но каждую с новой строки.
Допустим Ваша структура разделов имеет вид (в скобках указан ID соотв. раздела)
Продажа (27) -- Квартиры (33) -- Дома (38) Аренда (24) -- Квартиры (53) -- Дома (66)
В таком случае для "Дом/Продажа" Вам необходимо будет указать набор правил
topic_id=38
А если бы Вашу структура имела вид
Жилая -- Квартиры (33) -- Дома (38)
и контракт был бы вынесен в отдельное поле с именем optype вида {1~~Продажа}{2~~Аренда}, то правила приняли бы вид
topic_id=38 optype=1
Рассмотрим еще один пример. На сайте существует раздел для продажи земельных участков с ID=78. Так же у нас есть поле под хранение типа участка вида {1~~ИЖС}{2~~СНТ} и с сситемным именем lot_type. Тогда для раздела Поселений (ИЖС)/Продажа мы установим следующие правила
topic_id=78 lot_type=1