从ajax请求中抓取数据,有可能吗?
当我需要从一个网站获取内容时,我使用了file_get_content()
函数,但是现在我需要获取一个数据,该数据在ajax
请求后加载。所以我不能提到完全的网址。 有没有什么算法可以做这样的事情?从ajax请求中抓取数据,有可能吗?
谢谢。
如果我正确理解你的问题,你想在加载AJAX数据的网站上做一个file_Get_content ...这是一个客户端过程,当客户端的浏览器碰到它时发生,一个服务器端请求你不会看到它。
最好的办法是通过Firebug中的NET面板找到ajax请求的信息,然后在一个单独的文件中请求该信息获取内容调用。
在Firebug(firefox)或Chromes Developer Tools中的资源面板中使用Net Panel,您可以从特定页面观看AJAX调用。然后,您可以在JavaScript中调用相同的请求,也可以使用php脚本作为页面的代理。如果您想使用PHP代理方法,则可以使用file_get_contents或cURL来执行更高级的请求(例如POST数据)。然后,我会建议缓存数据,以免扰乱从谁获取信息并缩短脚本执行时间。
如果包含数据的变化,那么你可以使用正则表达式取决于它如何工作,以找到在页面的URL页面的URL
这听起来像你想抓住从一个页面的具体内容一个远程服务器。您可以考虑使用jQuery的load()函数此:
$('#my_container').load('local_proxy.php #container');
你的本地代理会处理的file_get_contents()远程调用跨域安全方面的原因,但它会从ID的远程元素加载内容“容器“(即<div id="container">
)并将其直接传递到您的”my_container“中。
不知道这是否就是你要找的东西,但它是很好的做了这么多与JS ...的一行:P
+1有趣的问题!我没有为你的答案不幸:) – nico 2010-06-09 16:36:49