过几天网站就要上线了。
最近完成了一个小功能,就是LOL数据获取,
比如:我给你一个号,你把这个号是否打过排位?战斗力是多少?胜率和所在的总场数数据获取过来
数据都在多玩的网站上可查,所以该做的功能就是远程抓取。
功能没啥亮点,就是简单的实现。
反正就是JS不能跨域,然后用PHP去跨域,用file_get_content好类或者是curl好,都不重要。重要是的能理解业务流程。
上面这个图就是执行业务流程图。清楚流程了,然后代码就好写了
当然说了,这里就,重点是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如何实现验证码的使用技巧和注意事项,需要的朋友参考一下 验证码在表单实现越来越多了,但是用js的写的验证码,总觉得不方便,所以学习了下php实现的验证码。好吧,其实是没有事情干,但是又不想浪费时间,所以学习了下php实现验证码。正所谓,技多不压身。而且,也可以封装成一个函数,以后使用的时候也是很方便的,当然现在未封装。 现在来说说简单的纯数字
近年来,在面向高并发编程的道路上,Node.js 与 Golang 风生水起,让人们渐渐把目光从多线程模型转移到 callback 与 CSP/Actor 上,用惯了 FPM 多进程同步阻塞模型的 PHPer 中总难免有人心动。
本文向大家介绍php获取数据库中数据的实现方法,包括了php获取数据库中数据的实现方法的使用技巧和注意事项,需要的朋友参考一下 废话不多说,直接上代码 这是获取完之后转成json格式 以上这篇php获取数据库中数据的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
我正在尝试使用phonegap构建ios应用程序 我希望来自远程服务器的数据显示在phonegap中。在我的服务器上我有php/mysql,在客户端我有phonegap和在jquery mobile中开发应用程序。 我知道我需要使用jsonp,但我有问题。 在服务器端,我开发了非常简单的应用程序。 我有两个php页面。 第一个php页面列表。php,显示导航列表(主页、关于我们、画廊)。第二个ph
我有一个从maven管理的java应用程序。我已经实现了数据网格缓存与版本8.2连接应用程序到分布式远程缓存服务。 跟随链接页面红帽https://access.redhat.com/documentation/en-us/red_hat_data_grid/8.2/html/cache_encoding_and_marshalling/marshalling_user_types实现protos
问题内容: 我正在尝试创建一个用于在PHP上执行oracle sql语句的类。 这是我的index.php,我正在尝试调用我的函数 和我的dbcontrol.php用于我的功能 我不确定似乎有什么问题。但是每次我运行这个。页面上未显示任何内容。没有结果,没有数据。但是我确信数据库中有数据。 问题答案: 您总是得到空白页的原因是: oci_num_rows()函数不会返回您可能认为的所选行数。它返回