当我需要从网站获取内容时,我使用file_get_content()
函数,但现在我需要获取一个数据,该数据在ajax
请求后加载。所以我不能提到确切的网址。
有没有算法做这些事情?
感谢。
答案 0 :(得分:3)
如果我正确理解你的问题,你想在加载AJAX数据的网站上做一个file_Get_content ......这是一个客户端进程,当客户端的浏览器点击它时会发生这种情况,当你正在制作一个服务器端请求你不会看到它。
最好的办法是通过firebug中的NET面板找到ajax请求的信息,然后在单独的文件中获取有关该信息的请求获取内容调用。
答案 1 :(得分:0)
您可以附加到Rhino之类的JavaScript实现,但这将是一条漫长而痛苦的道路。
答案 2 :(得分:0)
使用firebug(firefox)中的Net Panel或Chromes Developer Tools中的资源面板,您可以从特定页面观看AJAX调用。然后,您可以在javascript中调用相同的请求,或使用php脚本充当页面的代理。如果您想使用PHP代理方法,可以使用file_get_contents或cURL来获取更高级的请求(例如POST数据)。然后我会建议缓存数据,这样就不会让你不知道从哪里获取信息并缩短脚本执行时间。
如果包含数据的网页的网址发生变化,那么您可以使用正则表达式根据网页的工作方式查找网页中的网址
答案 3 :(得分:0)
听起来您想要从远程服务器上的页面中获取特定内容。您可以考虑使用jQuery的load()函数:
$('#my_container').load('local_proxy.php #container');
由于跨域安全原因,您的本地代理将处理file_get_contents()远程调用,但它会从id“container”(即<div id="container">
)的远程元素加载内容并将其直接传递到您的“my_container”。
不确定这是否是你正在寻找的东西,但是用一行js来做这么多很好......:P