@twopercent

Каким запросом подгружается информация?

Есть страничка товара с блоком Характеристики. Блок разворачивается полностью при нажатии "Развернуть описание". По определенным причинам парсить Селениумом мне не подходит. Хотелось бы разобраться по какому запросу браузер получает развернутые характеристики. На других форумах нашел библиотеку Requests-HTML, но в документации не увидел нужного инструмента.

Вот ссылка на страничку
  • Вопрос задан
  • 126 просмотров
Решения вопроса 1
@alexalexes
Данные прикладываются в первоначальное состояние html.
В конце страницы есть тег script. Там определяется глобальный объект __NUXT__.
В нем есть свойство data, в нулевом элементе лежат данные, необходимые для интерактива.
Среди них есть то, что вы ищите:
window.__NUXT__.data[0].product.props
Чтобы забрать значение __NUXT__ нужно выполнить JS этого тега.
Но можно решить задачу влоб при помощи регулярки, получив содержимое между return и последней закрывающийся фигурной скобкой функции, формирующей этот объект:
(?<=window\.__NUXT__=\(function\(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,_,\$,aa,ab,ac,ad,ae,af\){return\s).*(?=}\()

Данная регулярка получит JSON, который можно превратить в объект без выполнения JS.
Но данный метод будет работать до тех пор, пока разработчики магазина не добавят новых аргументов в эту функцию. Либо эта функция будет иметь переменное кол-во аргументов.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
iMedved2009
@iMedved2009
Не люблю людей
Ни по какому запросу - там уже в json лежат данные

Скриншоты кода запрещены. Удалено модератором.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы