【问题标题】:Scraping font-size from HTML and CSS从 HTML 和 CSS 中抓取字体大小
【发布时间】:2016-09-09 21:46:06
【问题描述】:

我正在尝试抓取 HTML 页面中每个文本部分的字体大小。过去几天我一直在尝试这样做,但我觉得我正在尝试重新发明轮子。我查看了诸如 cssutils、beautiful-soup 之类的 python 库,但遗憾的是运气不佳。我已经制作了自己的 html 解析器,它只在 html 中查找字体大小,但它并不查看非常重要的样式表。有什么提示可以让我朝着正确的方向前进吗?

【问题讨论】:

  • 这将非常非常困难,因为字体大小可以根据视口大小、CSS 媒体类型等动态设置——您实际上必须渲染页面并检查字体大小。
  • 这基本上不可能做到正确。 Javascript 中的客户端渲染可能会改变这一点。根据您为什么要这样做,您有不同的选择。如果您尝试使用它来确定文本的重要性,则最好使用 HTML 标记本身。如果你真的真的想要字体大小,你将不得不使用 Phantom.js 或 selenium 之类的 Python 绑定。
  • @ChristianTernus 我不能只使用默认视口大小吗?

标签: python html css web-scraping


【解决方案1】:

如果您在无头机器上,您可以将 selenium 与 firefox 或 phantomjs 一起使用,浏览器将呈现页面,然后您可以定位元素并获取它的属性。

在python上获取属性的方法是不言自明的,Element_obj.get_attribute('attribute_name')

【讨论】:

  • 硒是我一直在寻找的。谢谢!
  • 我刚用 chrome 试了一下,效果很好,但速度很慢。现在正在努力让它与 Firefox 一起工作。感谢您的提示!
  • 如果您正在寻找速度并且不介意看不到测试进度,我推荐 PhantomJS,它是一个没有用户界面的完整浏览器,而且速度非常快。它开箱即用,只需要在 PATH 环境变量中安装并拥有可执行路径。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-07
  • 1970-01-01
  • 2013-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多