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

Можно реализовать на PHP 7.2.8+, Perl 5, Python 2.7.5 

Лучше на Python, но не принципиально. 

Данные в txt файлах или mysql. 

Скрипт разделить на разные части: 

1. Добавление/удаление ИНН, редактирование уже добавленных.  

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

        Данные можно хранить как в txt файлах, так и mysql базе  на выбор исполнителя. 

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

3. Отправка отчета на емаил. 

Данные про ИНН: 

1. Через HTML форму, без пароля (защита будет в htaccess), добавляем ИНН. (Проверять на дубликан, нельзя добавлять одинаковые ИНН) 

2. Выводим список уже записанных ИНН с названиями юр.лиц (для понимания масштаба общий объём примерно до 2000 значений) 

3. При клике на ИНН нужно показывать дату последнего парсинга. И получные данные. Нас интересует только адрес. 

        Нужно помнить все адреса какие были обнаружены у ИНН, т.к. их количество может быть бесконечным, на практике не более 20. 

4. При клике на ИНН нужно кнопку на ВКЛ/ВЫКЛ для включения/исключения ИНН из парсинга. 

Про парсинг: 

1. Парсим sbis. Обращаемся по адресу https://sbis.ru/contragents/7736050003/772801001

        Где 7736050003 это ИНН. 

2. На полученной странице надо запоминать адрес и название организации, в данном примере "Москва г, ул.Намёткина, д.16, 117420"  обязательно с индексом и "Газпром, ПАО" 

3. Записать дату получение данных. 

4. При получение данных сравнивать с уже сохранёнными. 

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

        В следующий раз будет сравниваться уже новый адрес/название. 

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

        Желательно сделать параметр, сколько ИНН за один запуск проверять, например 10. Через cron будет сделан запуск скрипта по расписанию. 

7. Для уменьшения бана за парсинг, после старта сделать параметр, чтобы при старте парсинг начинался в рандомном интервале от 1 до 3 минут. 

Отправка отчета: 

1. Когда парсинг заканчивается, скрипт должен запускать формирование отчёта. 

       Т.к. скрипт парсинга делает не сразу 2000, а по 10 ИНН, то по окончанию если появились изменения, то надо создать письмо, куда все обработанные ИНН и указания на все адреса/названия, включая новый. 

2. Отчёт должен отправлять отдельный скрипт. 

3. Пример отчёта: 

Тема: обнаружены изменения 

Текст письма: 

ИНН 7736050003 

01.01.2009 Адрес такой-то, Название такое-то. 

02.02.2010 Адрес такой-то, Название такое-то 

И так далее до нового адреса/названия включительно.  

4. Если ИНН у которых произошли изменения несколько, то отчёт должен быть одним письмом. 

6 лет назад
jeni_mironov
31 годУкраина
6 лет в сервисе
Был
5 лет назад