2011-02-06 52 views
0

当我们打开新的网页时,我们正在下载图像到我们的电脑。例如:如果网页上有图像(image.jpg),我们的电脑会在我们浏览该页面时下载它。Curl preg_match

一些网页正在使用ajax方法。例如:您在页面的源代码中看不到图像,但是您的计算机下载图像。因为,如果你点击页面上的链接,AJAX将显示出图像......

让我给个例子:

<div id="ajax_will_load_image_here"></div> 

好了,如何可以在PHP卷曲见(或下载)该图像?尝试使用preg_match函数时,Curl无法看到该图像。其实有一个形象。我想通过使用php curl来下载该图像。有什么建议?

回答

0

如果我理解正确的问题没有方便的方法做到这一点。

您的抓取工具/蜘蛛必须解析网站并评估JavaScript。

有一些库,但支持是非常有限的。然而,有些方法使用实际的浏览器来蒸发页面(不显示它,但设置适当的环境变量,如分辨率等)。

然后生成的源包括javascript dom修改可用。

这是例如如何生成谷歌搜索预览。

但是,如果您需要用户交互,它会变得非常特殊和复杂。

我很抱歉让你失望,但使用curl和preg metch旧时我们习以为常的方式,当时javascript还没有这么常见就不会工作。

但是,对于大多数合法使用情况来说,这已经足够了,今天的网站越来越多地被设计为不符合JavaScript标准。尤其是用于抓取目的的内容。这是搜索引擎优化的必要条件,哪个网站不希望这样做?