Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中设置cURL以只获取可打印版本的网页?_Php_Html_Css_Curl - Fatal编程技术网

如何在php中设置cURL以只获取可打印版本的网页?

如何在php中设置cURL以只获取可打印版本的网页?,php,html,css,curl,Php,Html,Css,Curl,我正在尝试使用php中的cURL从其他人的网站复制HTML源代码。我只想得到他们指定的可打印的HTML,而不是他们的页眉、页脚和图像。我的目的是加快下载速度,减少他们网站的负担。他们8年来首次更新了页面,并改为使用CSS而不是GET变量来指定页面的可打印版本。可以告诉cURL只返回可打印的元素吗? 编辑:他们在CSS中使用了很多这样的语句: @media print { .visible-print-block { display: block !important;

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

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

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

然而,在1999年,对于基于web的电子邮件,我们使用了如下内容:

system("lynx --dump 'www.microsoft.com'");
这很有效,但是:

  • 可能在
    linux
    上、在
    MacOS
    Windows
    上都可以开箱即用,您需要安装
    lynx
    浏览器
  • 它很慢-因为它是
    fork
    lynx
    浏览器
  • 您需要注意并对域进行编码,可能需要使用
    escapeshellarg
  • lynx
    不支持
    Javascript
    ,也不支持非常高级的
    CSS

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

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

然而,在1999年,对于基于web的电子邮件,我们使用了如下内容:

system("lynx --dump 'www.microsoft.com'");
这很有效,但是:

  • 可能在
    linux
    上、在
    MacOS
    Windows
    上都可以开箱即用,您需要安装
    lynx
    浏览器
  • 它很慢-因为它是
    fork
    lynx
    浏览器
  • 您需要注意并对域进行编码,可能需要使用
    escapeshellarg
  • lynx
    不支持
    Javascript
    ,也不支持非常高级的
    CSS

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

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