我希望写一些代码,做视觉分析的网页,最好是使用Ruby。我的代码需要能够确定DOM中所有元素的顶部、左侧、宽度、高度、背景颜色和字体大小。当然,只有在应用了所有CSS之后才能计算这些值。所以,我不认为Nokogiri能胜任这项工作。最终,我尝试在VIPS(基于视觉的页面分割)算法中使用这些数据,试图在下载的新闻文章中找到主要内容。
我曾考虑过使用Watir来驱动Chrome或Firefox,然后提取数据。问题是浏览器不能通过Watir运行(我认为)。最终,这段代码将在数据中心的Linux服务器阵列上运行。因此,代码不能很容易地访问X Server来显示浏览器。
我认为一种解决方案是使用Watir并在Linux服务器上运行无头X服务器。这有点痛苦,但看起来是我现在最好的选择。
有没有更好的主意?
发布于 2011-01-07 02:49:13
你当然可以使用Selenium和Xvfb来运行浏览器。在过去,我已经用这个组合做了很多无头抓取。
发布于 2011-01-09 07:35:10
一定要使用Xvfb
nohup Xvfb :1 -screen 0 1024x768x24 2>&1 >/dev/null &然后只需在该显示端口:1上打开火狐。
也可以看看"Headless“这块宝石。
https://stackoverflow.com/questions/4618478
复制相似问题