我正在尝试构建机制,该机制将扫描给定URL的网站并获取所有图像。目前我正在使用慢的simple_html_dom。
从localhost
扫描网站需要大约30秒 - 1分钟。
我需要做的是:
我正在寻找最快方式。
答案 0 :(得分:3)
没有最快方式。 您无法减少网络延迟。 您无法避免让图像检测其大小。 其余的操作已经是过程中可以忽略不计的部分。
答案 1 :(得分:1)
另一个答案过于简单,因为您可以通过向服务器发送HEAD
请求以在下载之前获取图像大小来降低整体网络吞吐量 - 立即为大小&lt的图像保存几乎所有带宽; X
根据所涉及页面的大小,用于提取图像URL的字符串操作的选择也很重要。 PHP完全适合它所需要的需求,但它在一天结束时仍然是一种适度缓慢的解释语言,我发现调用例程涉及有时会使大型子串移动明显滞后。在这种情况下,即使使用简单的库,完全解析它也是过度的。
我非常愿意只下载最少的图像的原因是一些 PHP方法这样做非常慢。如果我使用copy()
下载文件,然后使用原始套接字或cURL执行相同的操作,copy()
有时至少需要两倍的时间。
因此,选择转移方法和选择解析方法都会产生明显的效果。