【问题标题】:How do you set up cURL in php to only get the printable version of a webpage?如何在 php 中设置 cURL 以仅获取网页的可打印版本?
【发布时间】:2016-03-29 13:49:00
【问题描述】:

我正在尝试使用 php 中的 cURL 从其他人的网站复制 HTML 源代码。我只想获得他们指定可打印的 HTML,而不是他们的页眉、页脚和图像。我的目的是加快下载速度,并减轻他们网站的负担。他们 8 年来第一次更新了他们的页面,并改为使用 CSS 而不是 GET 变量来指定页面的可打印版本。是否可以告诉 cURL 只返回可打印的元素? 编辑:他们在 CSS 中使用了很多这样的语句:

@media print {
    .visible-print-block {
        display: block !important;
    }
}

【问题讨论】:

  • 如果不解析打印媒体样式表,我认为这是不可能的,因为所有的 HTML 仍然存在。打印视图不会删除任何 HTML 节点,它只是根据 CSS 隐藏它们。

标签: php html css curl


【解决方案1】:

可能这不是您期望的答案,但是除了自己解析 DOM 树和渲染 HTML 之外,您无法生成可打印的版本。

然而,早在 1999 年,对于基于 Web 的电子邮件,我们使用了这样的东西:

system("lynx --dump 'www.microsoft.com'");

这很好用,但是:

  • 可能在linuxMacOSWindows 上开箱即用,您需要安装lynx 浏览器。
  • 它很慢 - 因为它fork lynx 浏览器
  • 您需要小心并编码域,可能使用escapeshellarg
  • lynx不支持Javascript,也不是很高级CSS

另一种方法是使用许多软件包中的一些来制作屏幕截图。但是,它们将生成图像而不是文本。

【讨论】:

    猜你喜欢
    • 2015-01-02
    • 1970-01-01
    • 1970-01-01
    • 2013-06-02
    • 2014-05-15
    • 2020-01-07
    • 1970-01-01
    • 2011-03-16
    • 1970-01-01
    相关资源
    最近更新 更多