missing00
@missing00
Разработчик

Как получить данные из js переменной с помощью ruby?

Имеется HTML фаил, в теле которого имеется js скрипт, который в свою очередь имеет в себе переменную( выделена ниже на фото ) хранящую масив объектов.

5aaa119c885df624028854.png

Задача - с помощью Ruby получить данный HTML по ссылке, а далее каким-то образом добраться до заветной переменной и получить массив хранящийся в ней и погрузить его в переменную Ruby для дальнейшей работы.
Что посоветуете использовать для получения HTML данных в Ruby?
Как лучше добраться до данной переменной ( поиском строки по названию переменной? или есть какие-то другие варианты? )
В общем, может кому попадалась такая задача, помогите чем можете ^__^
  • Вопрос задан
  • 525 просмотров
Пригласить эксперта
Ответы на вопрос 2
@RaMzz
А вот статья как парсить на Ruby это можно делать со шлюхами и блекДжеком :D
https://habrahabr.ru/post/51610/
Ответ написан
Комментировать
Например, используя Selenium WebDriver.
require 'selenium-webdriver'
driver = Selenium::WebDriver.for :chrome
driver.get 'https://ya.ru'
result = driver.execute_script 'return Ya._metrika.hitId;'
puts result

Пример выше достанет значение `JavaScript` переменной `Ya._metrika.hitId`, созданной на странице ya.ru.
В вашем случае `attributesCombinations` нужно доставать.

Ещё есть вариант использовать парсер JavaScript.
Например, https://github.com/tenderlove/rkelly или любой ему подобный.
Достаёте исходный код JavaScript со страницы и скармливаете его парсеру.
Достать код достаточно просто.
require 'unirest'
require 'nokogiri'
response = Unirest.get 'http://example.com'
doc = Nokogiri::HTML response.raw_body
element = doc.at_css 'script' # тут нужен более точный селектор
element.text # вернёт вам сырой JavaScript
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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