我正在尝试使用Nokogiri解析https://www.behance.net/gallery/35092257/LEmpreinte-du-Geste。
已解析的页面不包含<head>
中我通过查看该页面上的页面源可以看到的所有META标记。知道为什么会这样吗?
这是代码:
require 'nokogiri'
require 'open-uri'
url = 'https://www.behance.net/gallery/35092257/LEmpreinte-du-Geste'
doc = Nokogiri::HTML(open(url))
puts doc
答案 0 :(得分:1)
此页面构建于RequireJS之上,即时构建shadow dom。
Nokogiri是HTML / XML解析器,它绝不是JavaScript解析器。为什么你期望它执行JavaScript?
wget
页面,除了<html>
和<head>
之类的标签之外,您还会看到它实际上不包含一行HTML。
您可能会尝试将下载的页面传递给Node,但我怀疑它是否能够执行。