我正试图使用php中的cURL从别人的网站复制HTML源代码。我只想得到他们指定的可打印的HTML,而不是他们的页眉、页脚和图像。我的目的是加快下载速度,减轻他们网站的负担。他们8年来首次更新了自己的页面,并改为使用CSS而不是GET变量来指定页面的可打印版本。是否可以告诉cURL只返回可打印的元素?编辑:他们在CSS中使用了很多这样的语句:
@media print {
.visible-print-block {
display: block !important;
}
}
这可能不是您所期望的答案,但除了解析DOM树和自己呈现HTML之外,您无法生成可打印的版本。
然而,早在1999年,对于基于网络的电子邮件,我们就使用了这样的东西:
system("lynx --dump 'www.microsoft.com'");
这很有效,但是:
- 可能在
linux
上开箱即用,在MacOS
和Windows
上,您需要安装lynx
浏览器 - 它很慢,因为它是
fork
lynx
浏览器 - 您需要注意并对域进行编码,可能使用
escapeshellarg
lynx
不支持Javascript
,也不支持非常高级的CSS
另一种方法是使用许多软件包中的一些来制作屏幕截图。然而,它们将生成图像而不是文本。