如题 用PHP curl 如何抓取AJAX异步的内容
如何能在请求信息的同时不马上直接获取页面信息而是等待几秒钟等页面异步的内容呈现再抓取页面数据应该可以解决问题。
查了下curl_setopt好像没有延时之类的参数,都是请求了马上返回页面内容,如果用方法的怎么实现比较好?或者解决这问题的其他思路~~~
如何能在请求信息的同时不马上直接获取页面信息而是等待几秒钟等页面异步的内容呈现再抓取页面数据应该可以解决问题。
查了下curl_setopt好像没有延时之类的参数,都是请求了马上返回页面内容,如果用方法的怎么实现比较好?或者解决这问题的其他思路~~~
除非你再去抓取Ajax请求
很好,等了你很久了
AJAX返回信息后其实也是静态的部分,你可以用Firefox的firebug发现 动态改变的东西其实也存在于静态的页面上,只不过异步晚了5,6秒钟。如果你做一个测试<div id='result'></div>这个div为AJAX后呈现的信息容器,那么在AJAX之后你ALERT($("#result").html())是有内容的。
即便如你所说这是动态的东西,我怎么抓到AJAX的再次请求?有没有例子?还是要查找文件中JS的方法再请求??这比较麻烦啊。
那个页面通过浏览器打开,可以看到页面加载后的所有内容,包括在页面上通过AJAX来获取并显示到页面的信息。而curl却不能获取到那些通过ajax加载的东西,只能获取到相当于“查看源代码”的内容???是这个意思吗???
呵呵,恩呢~差不多啦。总之请求立即抓取页面是肯定获取不到AJAX后的异步内容滴,如果等待5秒左右就有了
好麻烦。。
有个只能在windows平台用的组件,名字搞忘了,很多人通过它来给某个网站的页面产生缩略图,貌似他获取到的图片就是包括ajax或JS执行后的最后的图片,不知道是不是可以通过那个组件也能实现你说的效果。
或者其他人也许有更好的办法。
并不能象浏览器那样,得到结果了,还能执行个JS什么的。
或者说不能象浏览器那样解析得到的结果。
还有,不能在PHP里延时调用curl吗?
疑惑中
看来这里也没啥好点子了,结贴~