教你如何用php实现LOL数据远程获取


Posted in PHP onJune 10, 2014

过几天网站就要上线了。

最近完成了一个小功能,就是LOL数据获取,

比如:我给你一个号,你把这个号是否打过排位?战斗力是多少?胜率和所在的总场数数据获取过来

数据都在多玩的网站上可查,所以该做的功能就是远程抓取。

教你如何用php实现LOL数据远程获取

功能没啥亮点,就是简单的实现。

反正就是JS不能跨域,然后用PHP去跨域,用file_get_content好类或者是curl好,都不重要。重要是的能理解业务流程。

教你如何用php实现LOL数据远程获取

上面这个图就是执行业务流程图。清楚流程了,然后代码就好写了

当然说了,这里就,重点是PHP怎么去抓取数据的。

这里要介绍一款非常好的PHP类,Simple_html_dom(自行百度获取文档)

public function getData(){
    $server = isset($_POST['gameserver'])?trim($_POST['gameserver']):NULL;
    $name = isset($_POST['gamename'])?trim($_POST['gamename']):NULL;
    import("@.ORG.SimpleHtmlDom");       //数据抓取类
        $url = "http://lolbox.duowan.com/playerDetail.php?serverName=".urlencode($server)."&playerName=".urlencode($name);
        $html = file_get_html($url);
        $dom = $html->find('.fighting',0)->children(1);
        $result['zdl'] =  strip_tags($dom->innertext);
        $doms = $html->find('.J_content',0)->children(1);
        //echo $html->find("#ranked_tier",0)->innertext;
        $temp =  $doms->plaintext;
        $tempArray = explode(" ",trim($temp));
        foreach($tempArray as $key=>$value)
        {
            if(!empty($value))
            {
                $tempArr[] = trim($value);
            }
        }
        unset($tempArray);
        //获取排位类型
        $pwtype = $tempArr[8];
        $pwtotal = $tempArr[12];
        $pwsl = $tempArr[14];
        if($pwtype == "5v5单双排")
        {
            $result['pw'] = $pwtotal;
            $result['pwsl'] = $pwsl;
        }else{
            $result['pw'] = "0";
            $result['pwsl'] = "0";
        }         $this->ajaxReturn($result) ;
}

上面这些代码,暴露了哥英语过了四级但还是硬伤的BUG。
上面这个类很简单,难点在于怎么去分析多玩查询页面的数据。用firebug看看吧。
写多了,你就知道的了。当然了,你想查询rank隐藏分数,也是可以滴,不过要去马化腾网站去获取数据了,这里就不详细说明了,提供个思路就可以了

PHP 相关文章推荐
php 图像函数大举例(非原创)
Jun 20 PHP
PHP中实现汉字转区位码应用源码实例解析
Jun 14 PHP
php简单的会话类代码
Aug 08 PHP
php图片加中文水印实现代码分享
Oct 31 PHP
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
Oct 31 PHP
基于magic_quotes_gpc与magic_quotes_runtime的区别与使用介绍
Apr 22 PHP
PHP Error与Logging函数的深入理解
Jun 03 PHP
探讨多键值cookie(php中cookie存取数组)的详解
Jun 06 PHP
腾讯微博提示missing parameter errorcode 102 错误的解决方法
Dec 22 PHP
php以fastCGI的方式运行时文件系统权限问题及解决方法
May 11 PHP
使用ltrace工具跟踪PHP库函数调用的方法
Apr 25 PHP
windows server 2008/2012安装php iis7 mysql环境搭建教程
Jun 30 PHP
PHP面向对象教程之自定义类
Jun 10 #PHP
微信营销平台系统?刮刮乐的开发
Jun 10 #PHP
百度地图API应用之获取用户的具体位置
Jun 10 #PHP
php截取字符串函数substr,iconv_substr,mb_substr示例以及优劣分析
Jun 10 #PHP
一个严格的PHP Session会话超时时间设置方法
Jun 10 #PHP
解决CodeIgniter伪静态失效
Jun 09 #PHP
CI(CodeIgniter)框架介绍
Jun 09 #PHP
You might like
php下通过POST还是GET来传值
2008/06/05 PHP
php 归并排序 数组交集
2011/05/10 PHP
php+js实现图片的上传、裁剪、预览、提交示例
2013/08/27 PHP
PHP输入输出流学习笔记
2015/05/12 PHP
php简单实现发送带附件的邮件
2015/06/10 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
2019/12/02 PHP
使用TextRange获取输入框中光标的位
2006/10/14 Javascript
JS检测输入字符是否包含非法字符的示例代码
2014/02/11 Javascript
javascript生成随机颜色示例代码
2014/05/05 Javascript
Js制作点击输入框时默认文字消失的效果
2015/09/05 Javascript
js鼠标点击图片切换效果实现代码
2015/11/19 Javascript
Vuejs第六篇之Vuejs与form元素实例解析
2016/09/05 Javascript
Vue.JS入门教程之处理表单
2016/12/01 Javascript
jQuery、layer实现弹出层的打开、关闭功能
2017/06/28 jQuery
React-Native做一个文本输入框组件的实现代码
2017/08/10 Javascript
js Dom实现换肤效果
2017/10/21 Javascript
vue 数组和对象不能直接赋值情况和解决方法(推荐)
2017/10/25 Javascript
Angular实现可删除并计算总金额的购物车功能示例
2017/12/26 Javascript
Vue2.5 结合 Element UI 之 Table 和 Pagination 组件实现分页功能
2018/01/26 Javascript
Vue项目中设置背景图片方法
2018/02/21 Javascript
js实现简单的贪吃蛇游戏
2020/04/23 Javascript
JavaScript使用setTimeout实现倒计时效果
2021/02/19 Javascript
Python运行的17个时新手常见错误小结
2012/08/07 Python
使用Python3 编写简单信用卡管理程序
2016/12/21 Python
详谈python在windows中的文件路径问题
2018/04/28 Python
python3处理含有中文的url方法
2018/05/10 Python
python+opencv实现移动侦测(帧差法)
2020/03/20 Python
Python实现查找数据库最接近的数据
2020/06/08 Python
利用keras使用神经网络预测销量操作
2020/07/07 Python
浅析Python中字符串的intern机制
2020/10/03 Python
COACH德国官方网站:纽约现代奢侈品牌,1941年
2018/06/09 全球购物
小学生安全演讲稿
2014/04/25 职场文书
品牌服务方案
2014/06/03 职场文书
计生工作先进事迹
2014/08/15 职场文书
干货:如何写好工作总结报告!
2019/05/10 职场文书
《最后一头战象》读后感:动物也有感情
2020/01/02 职场文书