【发布时间】:2013-03-17 20:06:48
【问题描述】:
我正在用 python 进行网页布局分析。一项基本任务是以编程方式测量给定 HTML 源代码的元素大小,以便我们可以获得网页语料库的内容/广告比率、广告块位置、广告块大小的统计数据。
一个明显的方法是使用宽度/高度属性,但它们并不总是可用。此外,width: 50% 之类的内容需要在加载到 DOM 后进行计算。所以我猜想将 HTML 源代码加载到 window-size-predefined-browser 中(比如 mechanize 虽然我不确定是否可以设置 window 的大小)是一个很好的尝试方法,但是 mechanize 不支持返回无论如何都是元素大小。
在 python 中是否有任何通用方法(没有宽度/高度属性),最好使用一些库?
谢谢!
【问题讨论】:
-
伙计,我什至无法让我的元素在 IE 和 Firefox 中呈现相同的大小。如果有一种“官方”的方法来计算尺寸,你可以打赌,有一半的市场会忽略这一点并按照自己的方式进行。
-
只是为了给你指明一个方向——可能想看看 WebKit 和其他渲染器提供什么作为输出。显然不会得到三叉戟,但 WK / Gecko 可能已经足够好了......
-
@Kevin 您的担忧当然是有道理的。但出于(实证)研究目的,我会坚持使用任何可以做到这一点的浏览器。我知道在 IE 和 Firefox 中,某些元素的大小不一样,我也遇到了麻烦。但这真的有很大的不同吗?我不担心这里有几个像素漂移:)