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

 更新时间:2016年10月15日 15:44:12   作者:dengwz7788  
这篇文章主要介绍了jquery+thinkphp实现跨域抓取数据的方法,结合实例形式分析了thinkPHP结合jQuery的ajax实现跨域抓取数据的相关操作技巧,需要的朋友可以参考下

本文实例讲述了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("<span class='loading2'>&nbsp;&nbsp;&nbsp;</span>");
      });
      $.post("update_ac/username/"+$username,{},function($data){
        json = eval("(" + $data + ")");
        $("#Submit").html(json.data.Submit);
        $("#AC").html(json.data.AC);
        $("#solved,#solved2,#solved3").html(json.data.solved);
        $("#rank").html(json.data.rank);
       }
      ),"json";
});

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

json = eval("(" + $data + ")");
//eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。

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

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

import("@.ORG.simple_html_dom");
//thinkphp内导入扩展,你要把网上下载的代码改名为simple_html_dom.class.php放到APPNAME\Lib\ORG的目录下面
$html = file_get_html('http://openoj.awaysoft.com/JudgeOnline/userinfo.php?user='.$username); //远程抓取了
$ret = $html->find('center',0)->plaintext; //返回数据了。

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

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

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《smarty模板入门基础教程》及《PHP模板技术总结》。

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

相关文章

  • Yii框架getter与setter方法功能与用法分析

    Yii框架getter与setter方法功能与用法分析

    这篇文章主要介绍了Yii框架getter与setter方法,结合实例形式分析了Yii框架中getter与setter方法的基本功能、原理、使用方法及相关操作注意事项,需要的朋友可以参考下
    2019-10-10
  • PHP中__get()和__set()的用法实例详解

    PHP中__get()和__set()的用法实例详解

    在PHP5中,预定义了两个函数“__get()”和“__set()”来获取和赋值其属性,对每个字段进行set和get的操作。只需要加上两个魔术方法即可
    2013-06-06
  • 简单的php新闻发布系统教程

    简单的php新闻发布系统教程

    这篇文章主要介绍了如果通过php开发一个简单的php新闻管理系统,这样的系统对php新手来说非常值得学习,先掌握了基础的逻辑与代码能力,才能写出更好的代码
    2014-05-05
  • php中使用cookie来保存用户登录信息的实现代码

    php中使用cookie来保存用户登录信息的实现代码

    php中使用cookie来保存用户登录信息的实现代码,使用php开发的朋友可以参考下
    2012-03-03
  • laravel利用中间件防止未登录用户直接访问后台的方法

    laravel利用中间件防止未登录用户直接访问后台的方法

    今天小编就为大家分享一篇laravel利用中间件防止未登录用户直接访问后台的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • PHP+iframe图片上传实现即时刷新效果

    PHP+iframe图片上传实现即时刷新效果

    下面小编就为大家带来一篇PHP+iframe图片上传实现即时刷新效果。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • Laravel下生成验证码的类

    Laravel下生成验证码的类

    这篇文章主要为大家详细介绍了Laravel下生成验证码的类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • Yii2框架实现数据库常用操作总结

    Yii2框架实现数据库常用操作总结

    本篇文章主要介绍了Yii2框架实现数据库常用操作总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • PHP中Fatal error session_start()错误解决步骤

    PHP中Fatal error session_start()错误解决步骤

    这篇文章主要介绍了PHP中Fatal error session_start()错误解决步骤,着重于错误的排除步骤,一步一步排查下去,肯定可以解决这个错误,需要的朋友可以参考下
    2014-08-08
  • PHP MySql增删改查的简单实例

    PHP MySql增删改查的简单实例

    下面小编就为大家带来一篇PHP MySql增删改查的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06

最新评论