2016-03-18 3 views
0

Я пытаюсь разобрать https://www.behance.net/gallery/35092257/LEmpreinte-du-Geste используя Nokogiri.Web scraping behance.net

Проанализированная страница не содержит всех тегов META в <head>, которые я вижу, просматривая источник страницы на этой странице. Любая идея, почему это так?

Это код:

require 'nokogiri' 
require 'open-uri' 

url = 'https://www.behance.net/gallery/35092257/LEmpreinte-du-Geste' 
doc = Nokogiri::HTML(open(url)) 
puts doc 
+0

Добро пожаловать в SO. Пожалуйста, прочитайте «[mcve]». Нам нужно увидеть минимальный входной HTML, необходимый для демонстрации проблемы, а также ваш ожидаемый результат. Не просите нас просмотреть всю страницу, чтобы найти то, что вы ищете; Он тратит наше время на то, что вы должны сделать. Использование представления источника в браузере неточно. Используйте 'wget' или' curl' или OpenURI в IRB, или просто используйте 'nokogiri some_url' в командной строке, чтобы увидеть, что на самом деле существует. –

ответ

1

Эта страница построена на вершине RequireJS, что строит shadow dom на лету.

Nokogiri - это анализатор HTML/XML, это отнюдь не парсер JavaScript. Почему вы ожидаете, что он выполнит JavaScript?

Страница, и вы увидите, что на самом деле она содержит не одну строку HTML, кроме тегов, таких как <html> и <head>.

Вы можете попытаться передать загруженную страницу в Node, но я сомневаюсь, что она сможет выполнить ее.