Показать сообщение отдельно
  #1 (permalink)  
Старый 04.06.2017, 13:56
Новичок на форуме
Отправить личное сообщение для IvanRsn Посмотреть профиль Найти все сообщения от IvanRsn
 
Регистрация: 04.06.2017
Сообщений: 1

Несколько вопросов по парсингу.
Здравствуйте, уважаемые.
Получил тут задание спарсить некоторые данные с одного сайта. Для конкретики приведу частично задачу:
Задан товар:
http://www.walmart.com/ip/Danskin-No...-Shoe/51630300
1) Найти все варианты данного товара (цвет-размер).
а.Найти наличие на складе каждого варианта,
b. Найти цену для каждого варианта.
Сложность в том, что цена и количество товара на складе изменяется, при выборе другого размера или цвета, а при детальном исследовании я обнаружил, с помощью DevTools Chrome, что при выборе, скажем, другого размера, никакой запрос к серверу не отправляется, ни GET ни POST. Отсюда первый вопрос:

Вопрос 1: Можно ли как-то получать инфу от БД не отправляя дополнительных запросов серверу?

Далее я пытался разобраться с тем, что же происходит непосредственно в JS при изменении цвета или смене размера, и тут столкнулся со второй сложностью, все подключенные к сайту скрипты минимизированы. Весь JS код расположен в одну строку и являет собой не читабельную кашу из 1-2 символьных имён функций и переменных.

Вопрос 2: Как разобраться в таком адском минимизированном коде?

Пробовал скачивать страницу целиком и в скачанных скриптах преобразовывать код при помощи специальной он-лайн утилитки, которая более менее возвращает формат JS тексту, но что-то не заработало.

И наконец

Вопрос 3: Как можно имитировать поведение пользователя на сайте. К примеру клик по раскрывающемуся списку с размерами товара и дальнейший выбор размера. Или имитировать выбор цвета продукта?
Ведь сам парсер-то будет писаться на PHP, а он не в состоянии влиять на дальнейшие клиентские JS события. Как-то можно было бы выкрутиться, если бы были запросы на сервер и ответы в JSON или скажем XML, но ничего такого не происходит.
Прошу, помогите разобраться. У меня разрушен мозг.
Ответить с цитированием