教你如何用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 上传功能实例代码
Apr 13 PHP
php全排列递归算法代码
Oct 09 PHP
Zend Studio去除编辑器的语法警告设置方法
Oct 24 PHP
PHP基础之运算符的使用方法
Apr 28 PHP
一个基于phpQuery的php通用采集类分享
Apr 09 PHP
PHP不用递归遍历目录下所有文件的代码
Jul 04 PHP
PHP中Header使用的HTTP协议及常用方法小结
Nov 04 PHP
php实现简单的语法高亮函数实例分析
Apr 27 PHP
解决出现SoapFault (looks like we got no XML document)的问题
Jun 24 PHP
详解json在php中的应用
Sep 30 PHP
PHP封装XML和JSON格式数据接口操作示例
Mar 06 PHP
php png失真的原因及解决办法
Oct 24 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和jquery实现地图区域数据统计展示数据示例
2014/02/12 PHP
使用PHP导出Redis数据到另一个Redis中的代码
2014/03/12 PHP
PHP中new static() 和 new self() 的区别介绍
2015/01/09 PHP
PHP获取路径和目录的方法总结【必看篇】
2017/03/04 PHP
js获取本机的外网/广域网ip地址完整源码
2013/08/12 Javascript
浏览器的JavaScript引擎的识别方法
2013/10/20 Javascript
ExtJS[Desktop]实现图标换行示例代码
2013/11/17 Javascript
使用node.js 获取客户端信息代码分享
2014/11/26 Javascript
JavaScript函数参数使用带参数名的方式赋值传入的方法
2015/03/19 Javascript
JS实现从连接中获取youtube的key实例
2015/07/02 Javascript
jquery实现具有嵌套功能的选项卡
2016/02/12 Javascript
Javascript的表单验证-提交表单
2016/03/18 Javascript
jQuery 中的 DOM 操作
2016/04/26 Javascript
基于JavaScript实现无限加载瀑布流
2017/07/21 Javascript
vue.js实现只弹一次弹框
2018/01/29 Javascript
JavaScript实现获取两个排序数组的中位数算法示例
2019/02/26 Javascript
微信小程序 wxParse插件显示视频问题
2019/09/27 Javascript
在vue中使用vuex,修改state的值示例
2019/11/08 Javascript
Python中请使用isinstance()判断变量类型
2014/08/25 Python
python列表操作实例
2015/01/14 Python
python 获取文件下所有文件或目录os.walk()的实例
2018/04/23 Python
Python:type、object、class与内置类型实例
2019/12/25 Python
Python pickle模块常用方法代码实例
2020/10/10 Python
Django URL参数Template反向解析
2020/11/24 Python
HTML5 audio标签使用js进行播放控制实例
2015/04/24 HTML / CSS
Hotels.com中国区:好订网
2016/08/18 全球购物
家长学校实施方案
2014/03/15 职场文书
社区志愿者活动总结
2014/06/26 职场文书
高效课堂标语
2014/06/26 职场文书
大专生求职信
2014/06/29 职场文书
入党积极分子半年考察意见
2015/06/02 职场文书
党员转正介绍人意见
2015/06/03 职场文书
难以忽视的真相观后感
2015/06/05 职场文书
2016年圣诞节活动总结范文
2016/04/01 职场文书
2019年恭贺升学祝福语集锦
2019/08/15 职场文书
导游词之白茶谷九龙峡
2019/10/23 职场文书