我正在构建一个共享站点,它允许与 Ruby on Rails共享网页链接。
我想为每个页面提取一些有代表性的图像(就像在Facebook 上分享链接时一样)。
现在我首先使用gem opengraph来解析og:image
meta 标签,然后我使用Nokogiri来解析页面内容并检索所有<img>
标签src
属性。这给出了很好的结果(除了一些装饰图像,所以我按大小过滤结果......)。
--
现在我想进一步解析 cssbackground-image
属性:网站徽标通常显示为 a<h1>
或<a>
标签的背景。
我想到了以下过程:
使用正则表达式(类似
/background(-image)?:.../
)解析 HTML 文档以查找内联 CSS使用 Nokogiri 检索 CSS 样式表 URL,并使用相同的正则表达式解析这些表单
...并根据文档 URL 对 URL 进行绝对化。
--
我的问题是:
你认为有更好的选择吗?
是否有某种可以提高流程性能的库?
例如,如果我可以构建一个 HTML+CSS 的统一视图,它允许我通过 DOM 访问 CSS 属性,那么我只能访问预选的 HTML 元素(h1、a、...)的背景图像和限制结果的数量。