Задать вопрос
S-anches
@S-anches
Любитель всего и вся.

Может кто знает как спарсить эту страницу nokogiri?

Всем привет. У меня проблема и ни знаю в чем проблема. Есть страница такая:

Это spotify плеер. В любом браузере отлично грузится, страница качается curl без проблем, обычный get запрос. Но в rails когда я ее пытаюсь отпарсить nokogiri то загружается только одна строка:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">

Если же nokogiri парсить скачанный файл curl'ом с этого адреса то все отлично. В чем может быть дело?

UPD.
Проблема была в user-agent. Вот решение:
source = 'https://embed.spotify.com/?uri=spotify:user:128386105:playlist:39BkANk6cQDivVkymDRQTL'
user_agent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.854.0 Safari/535.2"
page = Nokogiri::HTML(open(source, 'User-Agent' => user_agent), nil, "UTF-8")
  • Вопрос задан
  • 389 просмотров
Подписаться 1 Оценить 4 комментария
Решения вопроса 1
viktorvsk
@viktorvsk
Возможно, по-разному реагирует на разные юзер-агенты.
Возможно, редиректы
Например, https://github.com/typhoeus/typhoeus, открыл страницу без дополнительных настроек.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
S-anches
@S-anches Автор вопроса
Любитель всего и вся.
Еще пробовал страницу грузить через rest-client, тоже самое абсолютно.
Ответ написан
Комментировать
@kkrieger
Когда curl делаете добавьте -v параметр там будут загловки которые он отправляет, повторите все заголовки в коде
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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