Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Требуется написать расширение под хром которое будет парсить данные из определенных реестров.

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

Пример работы:

Пользователь ходит по вебсайтам досок объявлений в поисках дома.

Находит дом на одной из них или ему приходит рассылка от вебсайта.

Вобщем каким то образом видит листинг выставленный агентом по недвижимости.

Пользователь в браузере идет на мой сайт, проходит там процедуру аутентификации (позже будем реализовывать),вводит там адрес дома и его параметры( эта страничка тоже кстати часть задания):

City  - текстовое поле

Street_number  - вводим вручную

Street_address  - вводим вручную

Suburb    - вводим вручную

Property_type   - лист со значениями: House, apartment, townhouse, unit.

Bedrooms - лист от 1-6

Заполнил пользователь эти поля и начинает работать парсер который отправляет запросы с компьютера пользователя в реестры. Как только ответы приходят оставшиеся поля этими ответами заполняются. В случае если пользователь изменил улицу или номер дома (ну ошибся во время ввода) парсер должен начать процесс по новой.

 

Итак вот поля на вебстраничке (которую как я говорил надо тоже сделать) которые заполняет парсер:

Поле Median_Rent_TB – Поле которое должно заполняться по результату поиска во внешнем реестре используя значение suburb.

https://tenancy.govt.nz/rent-Rent-and-bills/market-rent/

Часто бывает что такой район может быть в нескольких городах, или даже в одном городе но разделен на части.

Например введите Frankton и увидите, что сайт выдаст сообщение  Sorry, there are multiple results for "Frankton".

И 3 ссылки на франктон:

SUGGESTIONS:

Hamilton - Dinsdale South/Frankton

Hamilton - Hamilton Central/Maeroa/Frankton Junction

Queenstown Lakes - Queenstown/Frankton/Arrowtown

В этом случа парсер должен открыть попап окно браузера и позволить пользователю выьрать из предлагаемых ссылок. 

И уже из результата извлечь значение поля Median и подставить его в поле Median_Rent_TB.

Такой же принцип попап окна должен относится ко всем ошибкам поиска во всех реестрах. Например если внешнией реестр недоступен то должно открыться попап окно браузера с ошибкой которую возвращает реестр - будь то 403,404 или 500. Ну или если реестр отвечает, что не смог найти ничего для этого адреса. Или если нашел, но больше одного результата. 

Поле Median_Rent_QV – Поле которое должно заполняться по результату поиска во внешнем реестре используя полный адрес дома. https://www.qv.co.nz/resources/property-investment-rental-analysis

Тут для поиска используются поля city, property_type, bedrooms.

В результате выдачи надо найти нужный район(suburb), извлечь оттуда значение поля median rent и внести его в значение median_rent_qv.

Поле Government_value – Поле которое должно заполняться по результату поиска во внешнем реестре.

Реестр зависит от города.

Hamilton - http://www.hamilton.govt.nz/our-services/property-and-rates/propertydatabase/Pages/default.aspx (пример для поиска 15 Arista way)

В результате выдаст ссылку на Valuation Number(если выдаст более одной то запускается сценарий с попап окном) надо проследовать по ней и в результате выдачи выбрать значение Capital value и подставить его в Government_value

Whangarei - http://www.wdc.govt.nz/RatesandPayments/Rates/Pages/RatesDatabaseSearch.aspx (пример для поиска 12 Ngaio street)

В результате выдаст ссылку на Assessment No(если выдаст более одной то запускается сценарий с попап окном) надо проследовать по ней и в результате выдачи выбрать значение Capital value и подставить его в Government_value

Upper Hutt - http://eservices.uhcc.govt.nz/rates/properties/search (пример для поиска 18 Kiwi street)

В результате выдаст ссылку на Valuation No(если выдаст более одной то запускается сценарий с попап окном) надо проследовать по ней и в результате выдачи выбрать значение Capital value и подставить его в Government_value

Поле Current_Rates – Поле которое должно заполняться по результату поиска во внешнем реестре используя полный адрес дома.

Реестр зависит от города.

Причем для города Hamilton искать нужно по двум реестрам и суммировать результат перед внесением его в поле Current_Rates.

Hamilton - http://www.hamilton.govt.nz/our-services/property-and-rates/propertydatabase/Pages/default.aspx (пример для поиска 15 Arista way)

В результате выдаст ссылку на Valuation Number(если выдаст более одной то запускается сценарий с попап окном) надо проследовать по ней и в результате выдачи выбрать значение Current rates, потом провести работу со вторым реестром

http://www.waikatoregion.govt.nz/Council/Rates/Find-out-your-rates/ откуда выбрать значение Total rates (including GST) и суммировав оба значения подставить их сумму в current_rates.

Whangarei - http://www.wdc.govt.nz/RatesandPayments/Rates/Pages/RatesDatabaseSearch.aspx (пример для поиска 12 Ngaio street)

В результате выдаст ссылку на Assessment No(если выдаст более одной то запускается сценарий с попап окном) надо проследовать по ней и в результате выдачи выбрать значение Total $ и подставить его в Current_Rates

Upper Hutt - http://eservices.uhcc.govt.nz/rates/properties/search (пример для поиска 18 Kiwi street)

В результате выдаст ссылку на Valuation No(если выдаст более одной то запускается сценарий с попап окном) надо проследовать по ней и в результате выдачи выбрать значение Estimated Total и подставить его в Current_Rates

Поле Capital_Growth

реестр https://www.qv.co.nz/resources/monthly-residential-value-index

в зависимости от города выбирается District и после этого жмется кнопка show.

Из результата нужно выбрать поле Change in Value и подставить в Capital_Growth. Значение может быть отрицательным.

Код надо писать с документацией (на русском) и коментариями.

Ежедневные коммиты в мой git репозиторий.

Оплата через безопасную сделку.

Если можете предложить решение лучше буду рад обсудить.

8 лет назад
freelance4me
Леонид 
43 годаРоссия
8 лет в сервисе
Был
7 лет назад
1 отзыв