当我们打开新的网页时,我们正在将图像下载到我们的计算机上。例如:如果网页有图像(image.jpg),我们的计算机会在浏览该页面时下载它。
有些网页正在使用ajax方法。例如:您没有在页面的源代码上看到图像,但是您的计算机会下载图像。因为,如果您单击该页面上的链接,ajax将显示该图像...
让我举个例子:
<div id="ajax_will_load_image_here"></div>
好的,php如何看到(或下载)该图像?当我尝试使用preg_match函数时,Curl无法看到该图像。实际上有一个图像。我想通过使用php curl下载该图像。有什么建议吗?
答案 0 :(得分:0)
如果我正确理解了这个问题,就没有方便的方法。
您的抓取工具/蜘蛛必须解析网站并评估javascript。
有图书馆,但支持非常有限。
但是有一些方法可以使用实际的浏览器来评估页面(不显示它,而是设置适当的环境变量,如分辨率等)。
然后可以使用包含javascript dom修改的生成源。
例如,这是如何生成Google搜索预览的。
但是如果你需要用户互动,它会非常具体和复杂。
我很抱歉让你失望,但是使用curl和preg metch我们以前习惯的旧学校方式当javascript还没有那么常见时不会工作。
然而,对于大多数合法用例而言,这已经足够了,今天的网站越来越多地被设计为不符合javascript。特别是用于爬行目的的内容。它是搜索引擎优化的必需品,哪个网站不需要它?