jquery+thinkphp实现跨域抓取数据的方法

前端之家收集整理的这篇文章主要介绍了jquery+thinkphp实现跨域抓取数据的方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了jquery+thinkPHP实现跨域抓取数据的方法分享给大家供大家参考,具体如下:

今天做一个远程抓取数据的功能,记得jquery可以用Ajax远程抓取,但不能跨域。再网上找了很多。但我觉得还是来个综合的,所以我现在觉得有点把简单问题复杂化了,但至少目前解决了:

跨域抓取数据到本地数据库再异步更新的效果

我实现的方式:jquery的$.post发送数据到服务器后台,在由后台PHP代码执行远程抓取,存到数据库ajax返回数据到前台前台用JS接受数据并显示

获取数据 $("#update_ac").click(function() { $username = $("#username").text(); $("#AC,#rank,#Submit,#solved,#solved2,#solved3").ajaxStart(function(){ $(this).html(""); }); $.post("update_ac/username/"+$username,{},function($data){ json = eval("(" + $data + ")"); $("#Submit").html(json.data.Submit); $("#AC").html(json.data.AC); $("#solved,#solved3").html(json.data.solved); $("#rank").html(json.data.rank); } ),"json"; });

上面的jquery代码还算四楼比较清楚的,纠结我的就是那个json数据的接收

函数可计算某个字符串,并执行其中的的 JavaScript 代码

其实这个都还是前台,跨域抓取是用PHP的扩展simple_html_dom完成的(不清楚的可以到网上去搜一搜,基于PHP5开发的)

把远程的页面抓取到本地。

find('center',0)->plaintext; //返回数据了。

上面的代码只是核心代码,simple_html_dom扩展的还有很多功能。自己去了解吧。

返回的数据是一个字符串,再用正则表达式去筛选需要的数据就了 下面是效果

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

原文链接:https://www.f2er.com/thinkphp/18773.html

猜你在找的ThinkPHP相关文章