Подскажите пожалуйста как собирать данные с сайтов

MaxLucky

Client
Регистрация
13.08.2017
Сообщения
186
Благодарностей
14
Баллы
18
Здравствуйте. Есть большая база интернет-магазинов. Задача, в том, чтобы собрать с них контактные данные: Почту, ИНН, ОГРН (компаний), Регион, Телефоны. Проверить наличие разделов: Оплата и оплата кредитными картами.

Каким образом можно написать логику, чтобы шаблон находил разделы: Контакты, Оплата и т.д. на разных сайтах, чтобы вытягивать оттуда данные?
 

radv

Client
Регистрация
11.05.2015
Сообщения
3 789
Благодарностей
1 954
Баллы
113
Каким образом можно написать логику, чтобы шаблон находил разделы: Контакты, Оплата и т.д. на разных сайтах, чтобы вытягивать оттуда данные?
Взять адрес сайта, перейти на сайт, проверить наличие разделов (Контакты, Оплата и т.п.), если нет разделов взять след. сайт, если раздел найден, перейти на него, проверить наличие контактных данных, спарсить нужные данные, сохранить данные в нужном формате в таблицу/БД, повторить цикл.
 
  • Спасибо
Реакции: MaxLucky

alexcalt

Активный пользователь
Регистрация
30.01.2020
Сообщения
114
Благодарностей
88
Баллы
28
Как вариант - отправлять гет запрос, а затем из содержания ответа регулярками вытаскивать нужные данные

например почту - [A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}
номера примерно так - (?:\+|\d)[\d\-\(\) ]{9,}\d/g

UPD: По поводу, чтобы "чтобы шаблон находил разделы" - вариантов на самом деле огромное количество (как собрать url), но, наверное, самый быстрый вариант - это сделать дополнительный шаб, который будет делать гет запрос на главную страницу, и из ответа собирать все ссылки, а потом уже из этих ссылок вытягивать почты/номера. Так как мне кажется, что даже если нужных данных нет на главной, то с главной обязательно будет ссылка на страницу "контакты" или "доставка/оплата" и т.д.

Еще можно собрать список потенциальных названий страниц с контактами, а потом после того как собрали все ссылки с главной, отсеять лишние ссылки, чтобы сократить время чека (ну это смотря насколько большая база).

Или найти какие-то общие признаки у шопов (движки например), тогда совсем просто. Или распарсить сайтмапы. Вариантов куча.
 
Последнее редактирование:
  • Спасибо
Реакции: MaxLucky

sps75

Client
Регистрация
13.12.2020
Сообщения
70
Благодарностей
8
Баллы
8
Здравствуйте. Есть большая база интернет-магазинов. Задача, в том, чтобы собрать с них контактные данные: Почту, ИНН, ОГРН (компаний), Регион, Телефоны. Проверить наличие разделов: Оплата и оплата кредитными картами.

Каким образом можно написать логику, чтобы шаблон находил разделы: Контакты, Оплата и т.д. на разных сайтах, чтобы вытягивать оттуда данные?
Тут был открытый шаблон, думаю вас устроит. Там только контакты парсятся, оплату уже по аналогии сделаете.
 
  • Спасибо
Реакции: MaxLucky

MaxLucky

Client
Регистрация
13.08.2017
Сообщения
186
Благодарностей
14
Баллы
18
Благодарю! Буду пробовать. Шаблон очень даже в тему.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)