红宝石网页的视觉分析

问题描述 投票:3回答:2

我正在寻找编写一些对网页进行可视化分析的代码,最好使用Ruby。我的代码将需要能够确定DOM中所有元素的顶部,左侧,宽度,高度,背景颜色,颜色和字体大小。当然,这些值只能在应用所有CSS后才能计算。因此,我认为Nokogiri不能胜任这项工作。最终,我试图在类似于VIPS(基于视觉的页面细分)算法中使用此数据,以期找到下载的新闻文章中的主要内容。

我已经考虑过使用Watir驱动Chrome或Firefox,然后提取数据。问题在于,浏览器无法通过Watir无休止地运行(我认为)。最终,这些代码将在数据中心的一系列Linux服务器上运行。因此,该代码将无法轻松访问X Server以显示浏览器。

我想一种解决方案是使用Watir并在Linux服务器上运行无头X Server。有点痛苦,但现在看来是我最好的选择。

有人有更好的主意吗?

html ruby dom nokogiri watir
2个回答
4
投票

您当然可以使用SeleniumXvfb来运行浏览器。过去,我已经使用该组合进行了[[lot的无头刮擦。


1
投票
绝对使用Xvfb

nohup Xvfb :1 -screen 0 1024x768x24 2>&1 >/dev/null &

然后只需在该显示端口:1上打开Firefox。

也请检查“ Headless” gem。

© www.soinside.com 2019 - 2024. All rights reserved.