Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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, но ничего такого не происходит.
Прошу, помогите разобраться. У меня разрушен мозг.
Ответить с цитированием
  #2 (permalink)  
Старый 04.06.2017, 14:10
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от IvanRsn
Можно ли как-то получать инфу от БД не отправляя дополнительных запросов серверу?
Нет.
Сообщение от IvanRsn
Как разобраться в таком адском минимизированном коде?
Отформатировать в отладчике.
Ответить с цитированием
  #3 (permalink)  
Старый 05.06.2017, 12:07
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,012

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

Сообщение от IvanRsn
Сложность в том, что цена и количество товара на складе изменяется, при выборе другого размера или цвета, а при детальном исследовании я обнаружил, с помощью DevTools Chrome, что при выборе, скажем, другого размера, никакой запрос к серверу не отправляется, ни GET ни POST.
значит, они уже есть на клиенте. Либо спрятаны где-то на самой странице (см. "исходный код страницы"), либо подтянулись аяксом. Продолжай копать в глубину.

Вот они, ботинки. Думаю, тут всё есть, и цвет, и количества, и т.д.
https://www.walmart.com/product/grou...//5YH558L81GQQ
Если у тебя нет браузерного плагина JSONView, то лучше этот аяксовый запрос смотреть в дебаггере )

Последний раз редактировалось Alexandroppolus, 05.06.2017 в 12:14.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Несколько вопросов о jQuery karakym Общие вопросы Javascript 2 07.10.2016 10:23
несколько несложных вопросов vlad2580 Общие вопросы Javascript 2 18.05.2016 21:28
Несколько вопросов о window.onerror Hapson Общие вопросы Javascript 0 05.04.2014 19:18
Несколько вопросов jQuery DS_ Общие вопросы Javascript 11 09.11.2012 17:02
Несколько вопросов про таймер ВэйДлин Общие вопросы Javascript 19 06.08.2010 01:16