Фрилансеры предложат решение вашей задачи уже через несколько минут!
Публикация заказа не займет много времени.
9 месяцев назад
Сергей К.
34 года, Беларусь
2 года в сервисе
Был онлайн 3 месяца назад
9 месяцев назад

Нужно написать скрипт который сможет отпарсить google maps places и собрать интересующую нас информацию и 6000 офисов принадлежащих 35 компаниям

У нас есть mysql дам с компаниями и их офисами.

Дамп можно скачать тут -> https://www.dropbox.com/s/5grkyqjpvi0u6ca/ustates_companies.sql.zip?dl=0

В дампе 3 таблицы

1 - Компании
`wp_ustates_companies` (
  `id` int(11) NOT NULL,
  `pid` int(11) NOT NULL,
  `slug` varchar(64) NOT NULL,
  `name` varchar(64) NOT NULL
);

таблица содержит сведения о компаниях - 35 записей
у одной компании могут быть несколько дочерних
например строка VALUES (1, 0, 'speedy-cash', 'Speedy Cash'),

2 - Офисы
`wp_ustates_company_offices` (
  `id` int(11) NOT NULL,
  `company_id` int(11) NOT NULL,
  `company_name` varchar(64) NOT NULL,
  `state` varchar(32) NOT NULL,
  `state_code` varchar(2) NOT NULL,
  `city` varchar(255) NOT NULL,
  `zip` varchar(16) NOT NULL,
  `address` varchar(255) NOT NULL,
  `tel` varchar(16) NOT NULL,
  `tel2` varchar(16) NOT NULL,
  `provider_google_maps_places_profile_url` varchar(512) NOT NULL,
  `provider_google_maps_places_lr` datetime NOT NULL,
)

связь с первой таблицей через ID `wp_ustates_companies`.`id`=`wp_ustates_company_offices`.`company_id`
также дублируется название компаний `wp_ustates_companies`.`name` = `wp_ustates_company_offices`.`company_name`

таблица содержит сведения о адресах офисов компаний - около 6к записей
например строка  VALUES (2, 1, 'Speedy Cash', 'Missouri', 'MO', 'Independence', '64052', '11221 E 23rd St', '(816) 833-1200', ''),

3 - Отзывы
`wp_ustates_company_office_reviews` (
  `id` int(11) NOT NULL,
  `office_id` int(11) NOT NULL,
  `company_id` int(11) NOT NULL,
  `provider` varchar(64) NOT NULL,
  `provider_fr` datetime NOT NULL,
  `provider_lr` datetime NOT NULL,
  `date` datetime NOT NULL,
  `date_str` varchar(64) NOT NULL,
  `stars` float NOT NULL,
  `user_id` int(11) DEFAULT NULL,
  `name` varchar(64) NOT NULL,
  `review` varchar(512) NOT NULL
)

связь с первой таблицей через ID
`wp_ustates_companies`.`id`=`wp_ustates_company_office_reviews`.`company_id`
связь со второй таблицей через ID
`wp_ustates_company_offices`.`id`=`wp_ustates_company_office_reviews`.`office_id`

таблица пустая - ЕЁ НУЖНО ЗАПОЛНИТЬ

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

Логика работы скрипта:
ПРЕДПОЧТИТЕЛЬНО РАБОТАТЬ ЧЕРЕЗ GOOGLE API ГДЕ ЭТО ВОЗМОЖНО

Проходим по всем записям таблице №2 с офисами компаний - опираясь на название, адрес и тел и находим профиль компании в google maps places
например по
Cashback Loans    California    CA    Orange    92868    314 S Main St.    (714) 203-6274
должны получить этот профиль https://www.google.com/maps/place/Cashback+Loans/@33.7838074,-117.8702047,17z/data=!4m5!3m4!1s0x80dcd9d08e47d047:0xebf27356e9a3af70!8m2!3d33.783803!4d-117.868016?hl=en
и сохранить его в поле `provider_google_maps_places_profile_url` из таблицы N2

на этом профиле видим Reviews https://www.dropbox.com/s/7wsjch4ebnkmul5/Screenshot 2017-12-16 00.06.31.png?dl=0
внутри 5 отзывов https://www.dropbox.com/s/hyxm1605fdc4zte/Screenshot 2017-12-16 00.07.40.png?dl=0
их нужно отпарсить и положить в таблицу №3

Пример заполнения для первого отзыва
  `id`- авто инкремент
  `office_id` - id офиса
  `company_id` - id компании
  `provider` - всегда = google_maps_places
  `provider_fr` - дата первичного парсинга отзыва скриптом
  `provider_lr` - дата последнего  обновления отзыва скриптом при условии изменений в отзыве(касаемо даты - читайте ниже)
  `date` - дата когда был оставлен отзыв если дата в читабельном числовом формате типа 2017-12-17 но для гугла она не подходит - ее пустую оставляем
  `date_str` - дата нашем случае ‘a year ago’
  `stars` - 1
  `user_id` - в ссылке под именем есть урл https://www.google.com/maps/contrib/115142597581803593844/reviews?hl=en-EN нас интересует цифровая часть 115142597581803593844
  `name` - sungyoon82
  `review` - Rude service bad attitude never get a loan over there again. I hope they go outta business. Terrible customer service avoid at all costs

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

скрипт должен уметь перечитывать профиль компании для обновления инфы
- добавлять новые отзывы которых раньше не было  но НЕ УДАЛЯТЬ старые которых уже нет
- учитывать что один пользователь может оставить несколько отзывов
- изменять `date_str` по необходимости и менять при этом `provider_lr` на текущую дату

Заявки фрилансеров

9 месяцев назад
Леонид Рыбаков
49 лет, Россия
6 лет в сервисе
Был онлайн 5 месяцев назад
9 месяцев назад
Сергей Прижимов
24 года, Россия
3 года в сервисе
Был онлайн 18 дней назад
9 месяцев назад
Евгений Зимин
37 лет, Россия
11 лет в сервисе
Был онлайн 11 часов назад
9 месяцев назад
Ильдар В.
38 лет, Россия
9 лет в сервисе
Был онлайн 5 часов назад
9 месяцев назад
Сергей Ю.
38 лет, Россия
7 лет в сервисе
Был онлайн 18 часов назад

Похожие заказы

Необходимо создать скрипт сайта (Apache, Debian 6)

необходимо создать скрипт сайта на Debiane, Apache: скрипт для одноплатного компьютера (наполнение простое), возможности: резервное копирование желательно всей OS на USB диск, отслеживание изменений файлов и их синхронизация в одну сторону: с OS на U...

Разработка расширения для Google Chrome

Ищется разработчик расширений Google Chrome. Требуется разработка достаточного сложного расширения. Ориентировочный срок около месяца, но так же важна поддержка и доработка проекта в дальнейшем. Детальное описание и наброски технического задания так ...

Создание отдельных карт с разметкой районов города на базе Google Maps

Задача: создание карт с разметкой районов городов, как в данном примере: http://www.watermap.ru/spb Количество: 11 городов-миллионников - Новосибирск, Екатеринбург, Нижний Новгород, Казань, Самара, Челябинск, Омск, Ростов-на-Дону, Уфа, Красноярск,

Поправить скрипт

Есть скрипт определения пользователей ВК. Работал, потом на ровном месте перестал. Я так понял какие то сертификаты устарели. Надо обновить и починить. )

Разработка расширения для Google Chrome

Имеется сайт на котором пользователь совершает заказ ( выбирает товар цену начальное и конечное время доставки). Требуется создать расширение для Google Chrome которое отслеживала совершенные заказы пользователем и передавала информацию (товар, цену ...

Скрипт для вставки в google таблицу

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

Скрипт для сбора публикаций и сообщений из ВК

Нужно написать скрипт для сбора из VK публикаций и сообщений, содержащих ключевые слова (словосочетания). Техническое задание на проект Нужно написать два модуля, Получатель и Отправитель, связанные общим стораджем. 1. Получатель взаимодействует

Установить цели Google Analitics на сайт

Установить цели (отправка формы) Google Analitics на сайт PS На сайте нет страницы благодарности

Увеличивается шрифт в браузере google chrome с телефона?

Подскажите как бороться ? увеличивается шрифт в браузере google chrome с телефона андроид но не весь частично ? Например с яндекс браузера все нормально.

Разработка скриптов для автоматического отслеживания ТТН в гугл таб

Учет заказов интернет ведется в гугл таблицах, постоянно есть необходимость проверки статуса ТТН Новой почты ( забрано, доставлено, в пути, отказ). Необходимо написания скрипта для автоматической проверки статуса. Пример: https://api.net.ua/ Приложе