LOL(英雄联盟) 战斗力查询

接口:http://lolbox.duowan.com/playerDetail.php?serverName=serverName&playerName=playerName

通过多玩的lol战斗力查询,将返回的页面信息,解析出来。

这里解析html用到了HTML Parser。可自行度娘下载

实现:

比方:http://lolbox.duowan.com/playerDetail.php?serverName=艾欧尼亚&playerName=请叫我中路杀神

返回的HTML例如以下:

  1. </head>
  2. <body scroll='no'>
  3. <div class="box">
  4. <div class="box-hd">
  5. <div class="fl crumbs"><div style='float:left;'><a href="playerSearch.php">首页</a><span>></span><a href="playerDetail.php?serverName=%E7%94%B5%E4%BF%A1%E4%B8%80&playerName=%E8%AF%B7%E5%8F%AB%E6%88%91%E4%B8%AD%E8%B7%AF%E6%9D%80%E7%A5%9E">请叫我中路杀神(艾欧尼亚)</a><span>></span>个人信息</div>
  6. </div>
  7. <div style="float:left;margin-left:10px">
  8.  
  9. </div>
  10. <!--分享模块 start -->
  11. <div class="btns-fast">
  12. <a title="返回" href="javascript:history.back();" onfocus="this.blur();" class="icons"><i></i></a>
  13. <div class="share">
  14. <a class="icons" href="#"><i></i></a>
  15. <div class="links">
  16. <a class="button_tsina" href="#"><span>新浪微博</span></a>
  17. <a class="button_tqq" href="#"><span>腾讯微博</span></a>
  18. <a class="button_qzone" href="#"><span>QQ空间</span></a>
  19. <a class="screenshot" href="javascript:screenshot();"><span>本页截图</span></a>
  20. <a class="copy-link" href="javascript:window.clipboardData.setData('Text',window.location.href);alert('链接复制成功');"><span>复制链接</span></a>
  21. </div>
  22. </div>
  23. <script type="text/javascript" src="js/sns_share.js?
  24.  
  25. v=2012091201" charset="utf-8"></script>
  26. <script type="text/javascript">
  27. var playerMostUsedHero = null;
  28. playerMostUsedHero = "Yasuo"; var jiathis_config= {
  29. title: "#无盒子 不开撸# 我是请叫我中路杀神,我在使用LOL盒子。
  30.  
  31. 来看看我的战斗力有多少吧!",
  32. appkey: {
  33. "tsina":"3629014272",
  34. "tqq":"801220649",
  35. "qzone":"100302822"
  36. },
  37. summary:" ",
  38. ralateuid:{
  39. "tsina":"2909042820"
  40. }
  41. };
  42. if (playerMostUsedHero)
  43. jiathis_config.pic = 'http://lolbox.duowan.com/images/champions/' + playerMostUsedHero + '_120x120.png';
  44. if (SnsShare) SnsShare.init();
  45. </script>
  46. <a title="刷新" class="icons refresh" onfocus="this.blur();" href="javascript:location.reload();"><i></i></a>
  47. </div>
  48. <script>
  49. function screenshot() {
  50. $('.share').removeClass('hover');
  51. setTimeout(function() {
  52. window.location.href='lolboxphoto://电信一_请叫我中路杀神_玩家详情';
  53. }, 200);
  54. }
  55. $('.box .box-hd .btns-fast .share').hover(function(){
  56. $(this).addClass('hover');
  57. },function(){
  58. $(this).removeClass('hover');
  59. });
  60. </script>
  61. <!--分享模块 end -->
  62. </div>
  63. <div class="box-bd">
  64. <div class="intro">
  65. <div class="avatar">
  66. <a href="matchList.php?serverName=%E7%94%B5%E4%BF%A1%E4%B8%80&playerName=%E8%AF%B7%E5%8F%AB%E6%88%91%E4%B8%AD%E8%B7%AF%E6%9D%80%E7%A5%9E"><img src="http://img.lolbox.duowan.com/profileIcon/profileIcon25.jpg" /></a>
  67. <span></span>
  68. <em>30</em>
  69. </div>
  70. <div class="text">
  71. <div>
  72. <strong>
  73. <a id="playerNameLink" href="playerDetail.php?serverName=%E7%94%B5%E4%BF%A1%E4%B8%80&playerName=%E8%AF%B7%E5%8F%AB%E6%88%91%E4%B8%AD%E8%B7%AF%E6%9D%80%E7%A5%9E" title="请叫我中路杀神">请叫我中路杀神</a>
  74. <a title="扫描二维码" href="qrcode.php?openmode=barcode&serverName=%E7%94%B5%E4%BF%A1%E4%B8%80&playerName=%E8%AF%B7%E5%8F%AB%E6%88%91%E4%B8%AD%E8%B7%AF%E6%9D%80%E7%A5%9E" target="_blank"><img alt="扫描二维码" src="images/barcode.png?v=3"></a>
  75. </strong>
  76. </div>
  77. <div title="此玩家在游戏中被队友给的好评数。仅仅有使用lol盒子的玩家才干够进行评价">被赞 66 次</div>
  78. <div title="此玩家在游戏中被多少人拉黑,仅仅有使用lol盒子的玩家才干够进行拉黑操作">被拉黑 8 次</div>
  79. </div>
  80. <div class="fighting" title='点击查看战斗力具体计算方法'>
  81. <p> <strong><a href='http://lol.duowan.com/1112/187633871943.html?
  82.  
  83. &openmode=default' target='_blank' style='color:white;cursor: help;'>战斗力</a></strong> </p>
  84. <p><em><span title='更新时间:2014-05-13 10:27:20'>11884</span></em></p>
  85. </div>
  86. </div>
  87. <div class="com-hero">
  88. <h3>近期经常使用英雄
  89. <span style="font-weight:normal;margin-left:20px">
  90. <!-- <a href="http://lolbox.duowan.com/heroesRank.php?serverName=%E7%94%B5%E4%BF%A1%E4%B8%80&playerName=%E8%AF%B7%E5%8F%AB%E6%88%91%E4%B8%AD%E8%B7%AF%E6%9D%80%E7%A5%9E">高手出装</a> --></span>
  91. </h3>
  92. <ul class="mod-pic"> <li> <a href="matchList.php?serverName=%E7%94%B5%E4%BF%A1%E4%B8%80&playerName=%E8%AF%B7%E5%8F%AB%E6%88%91%E4%B8%AD%E8%B7%AF%E6%9D%80%E7%A5%9E&hero=Yasuo"> <img src="http://img.lolbox.duowan.com/champions/Yasuo_40x40.jpg" alt="疾风剑豪 12 次 点击查看相关比赛" title="疾风剑豪 12次"></a></li>
  93. <li> <a href="matchList.php?serverName=%E7%94%B5%E4%BF%A1%E4%B8%80&playerName=%E8%AF%B7%E5%8F%AB%E6%88%91%E4%B8%AD%E8%B7%AF%E6%9D%80%E7%A5%9E&hero=TwistedFate"> <img src="http://img.lolbox.duowan.com/champions/TwistedFate_40x40.jpg" alt="卡牌大师 5 次 点击查看相关比赛" title="卡牌大师 5次"></a></li>
  94. <li> <a href="matchList.php?serverName=%E7%94%B5%E4%BF%A1%E4%B8%80&playerName=%E8%AF%B7%E5%8F%AB%E6%88%91%E4%B8%AD%E8%B7%AF%E6%9D%80%E7%A5%9E&hero=Zed"> <img src="http://img.lolbox.duowan.com/champions/Zed_40x40.jpg" alt="影流之主 5 次 点击查看相关比赛" title="影流之主 5次"></a></li>
  95. <li> <a href="matchList.php?
  96.  
  97. serverName=%E7%94%B5%E4%BF%A1%E4%B8%80&playerName=%E8%AF%B7%E5%8F%AB%E6%88%91%E4%B8%AD%E8%B7%AF%E6%9D%80%E7%A5%9E&hero=Nidalee"> <img src="http://img.lolbox.duowan.com/champions/Nidalee_40x40.jpg" alt="狂野女猎手 4 次 点击查看相关比赛" title="狂野女猎手 4次"></a></li>
  98. <li> <a href="matchList.php?
  99.  
  100. serverName=%E7%94%B5%E4%BF%A1%E4%B8%80&playerName=%E8%AF%B7%E5%8F%AB%E6%88%91%E4%B8%AD%E8%B7%AF%E6%9D%80%E7%A5%9E&hero=Ezreal"> <img src="http://img.lolbox.duowan.com/champions/Ezreal_40x40.jpg" alt="探险家 4 次 点击查看相关比赛" title="探险家 4次"></a></li>
  101. </ul>
  102. </div>
  103. <div id="tab1" class="mod-tabs">
  104. <div class="mod-tabs-hd">
  105. <ul class="mod-tabs-trigger J_nav">
  106. <li class="selected">匹配模式</li>
  107. <li onclick="loadRankedData('请叫我中路杀神', '电信一');">S4排位赛</li>
  108. <li onclick="loadEloRanks('请叫我中路杀神', '电信一');">战斗力评估</li>
  109. <li id="nav_wan" style="color:#FF0000; font-weight:500;" class="hide">大神陪玩</li>
  110. <!-- <li onclick="loadEloRanks('', '');">本服排名</li> -->
  111. </ul>
  112. <div class="act"><!-- <a title="请使用盒子打一场相应类型的比赛,就可以更新您这样的类型比赛的战绩数据,也能部分修正战斗力突然减少的问题" style="cursor: help;">数据不正确?</a>   -->
  113. <!-- <a href="http://fankui.duowan.com/knowledgebase/articles/193131" target="_blank">数据不正确?</a> -->
  114.  
  115.  
  116. </div>
  117. </div>
  118.  
  119. <div class="mod-tabs-bd J_content">
  120. <div class="mod-tabs-content">
  121. <table width="100%" border="0" cellspacing="0" cellpadding="0">
  122. <tr>
  123. <th scope="col">类型</th>
  124. <th scope="col">总场次</th>
  125. <th scope="col">胜率</th>
  126. <th scope="col">胜场</th>
  127. <th scope="col">负场</th>
  128. <th scope="col" style="width:100px">更新时间</th>
  129. </tr>
  130. <tr>
  131. <td>经典模式</td>
  132. <td>
  133. 310</td>
  134. <td>70%</td>
  135. <td>217</td>
  136. <td>93</td>
  137. <td>03-21 16:29</td>
  138.  
  139. </tr>
  140. <tr>
  141. <td>大乱斗</td>
  142. <td>
  143. 13 </td>
  144. <td>61.5%</td>
  145. <td>8</td>
  146. <td>5</td>
  147. <td>03-21 00:57</td>
  148. </tr>
  149.  
  150. </table>
  151. </div>
  152.  
  153. <div class="mod-tabs-content hide">
  154. <table width="100%" border="0" cellspacing="0" cellpadding="0">
  155. <tr>
  156. <th scope="col">类型</th>
  157. <th scope="col">段位/级别</th>
  158. <th scope="col">胜点</th>
  159. <th scope="col">总场次</th>
  160. <th scope="col">胜率</th>
  161. <th scope="col">胜场</th>
  162. <th scope="col">负场</th>
  163. <th scope="col" style="width:100px">更新时间</th>
  164. <!-- <th scope="col">逃跑</th> -->
  165. <!-- <th scope="col" title="全部赛季的总胜场">全赛季胜场</th> -->
  166. </tr>
  167. <tr>
  168. <td>5v5单双排</td>
  169. <td id="ranked_tier">-</td>
  170. <td id="ranked_league_points">-</td>
  171. <td>
  172. 120 </td>
  173. <td>55%</td>
  174. <td>66</td>
  175. <td>54</td>
  176. <td>04-26 15:25</td>
  177. <!-- <td></td> -->
  178. <!-- <td></td> -->
  179. </tr>
  180.  
  181. <tr><td align="center">S1+S2+S3排位 :</td><td></td><td></td><td>410</td><td>61%</td><td>254</td><td>156</td></tr> </table>
  182. </div>
  183. <div class="mod-tabs-content hide">
  184. <div class="combat-assess">
  185. <p class="info">
  186. <!-- <a href='http://lol.duowan.com/1301/222445786585.html' target='_blank' style='cursor: help;'>区间说明</a> -->
  187. <!-- <a href="#">丨</a> -->
  188. <a href='http://fankui.duowan.com/knowledgebase/articles/208098?
  189.  
  190. &openmode=default' target='_blank' style='cursor: help;'>算法</a>
  191. 11884 = 6874(基础分) + 3515(胜率分) + 1495(胜场分)
  192. 本服战斗力排名:<span id="zdlRank"></span> </p> <div class="combat-assess-content">
  193. <p style="padding-left:50px;padding-top:5px;color:red">请通过排位赛来提升个人战斗力</p>
  194. <p class="less-than-tip"><a target="_blank" href="http://fankui.duowan.com/knowledgebase/articles/208098?
  195.  
  196. &openmode=default">2014赛季战斗力算法详解</a></p>
  197. </div>
  198. <!-- 战斗力评价{ -->
  199. <!--<div class="combat-assess-content ">
  200. <div class="combat-progress-bar">
  201. <div style="width:px;" class="player-progress">
  202. <i class="down-arrow" style="display: block;"></i><i class="up-arrow" style="display: block;"></i>
  203. </div>
  204.  
  205. <div id="player-fighting-power" style="; display: block;">
  206. <p><b></b></p>
  207. </div>
  208. <div id="level-" class="level-tips" style="visibility: hidden;">
  209. <p></p>
  210. </div>
  211. <i class="level-tips-arrow" style="display: none; left: 365px;"></i>
  212. <i class="level-tip-1">2600</i>
  213. <i class="level-tip-2">3500</i>
  214. <i class="level-tip-3">4400</i>
  215. <i class="level-tip-4">5900</i>
  216. <i class="level-tip-5">7000</i>
  217. <i class="level-tip-6">9900</i>
  218. </div>
  219.  
  220. </div>-->
  221. <!-- }战斗力评估 -->
  222. <script>
  223. $(function(){
  224. // var $playerTip = $("#player-fighting-power");
  225. // var _tipWidth = $playerTip.outerWidth();
  226. // var _barWidth = $(".player-progress").width();
  227. // var _barOverWidth = $(".combat-progress-bar").width() - _barWidth;
  228. // if(_barWidth >= _tipWidth/2 && _barOverWidth > _tipWidth/2){
  229. // $playerTip.css({"left":_barWidth - _tipWidth/2});
  230. // }else if(_barWidth <= _tipWidth/2 && _barOverWidth > _tipWidth/2){
  231. // $playerTip.css({"left":"0"});
  232. // }else if(_barWidth > _tipWidth/2 && _barOverWidth <= _tipWidth/2){
  233. // //$("#player-fighting-power").css({"left":(_barOverWidth + _barWidth) - _tipWidth});
  234. // $playerTip.css({"left":"auto","right":"0"});
  235. // }
  236.  
  237. // $(".combat-progress-bar").on('mousemove', function(event){
  238. // $("#player-fighting-power").hide();
  239. // $("i.down-arrow,i.up-arrow").hide();
  240. // var _x = event.pageX - $(this).offset().left;
  241. // if( _x > 5 && _x <= 585){
  242. // $("i.level-tips-arrow").show().css({"left":_x});
  243. // }
  244. // if( _x >0 && _x <= 56){
  245. // $(".level-tips").css({"visibility":"hidden"});
  246. // $("#level-1").css({"visibility":"visible","left":"0"});
  247. // }else if(_x >56 && _x <= 272){
  248. // $(".level-tips").css({"visibility":"hidden"});
  249. // $("#level-2").css({"visibility":"visible","left":"0"})
  250. // }else if(_x >272 && _x <= 408){
  251. // $(".level-tips").css({"visibility":"hidden"});
  252. // var _tipWidth = Math.round($("#level-3").outerWidth() / 2);
  253. // $("#level-3").css({"visibility":"visible","left":"50%","margin-left":-_tipWidth})
  254. // }else if(_x >408 && _x <= 493){
  255. // $(".level-tips").css({"visibility":"hidden"});
  256. // $("#level-4").css({"visibility":"visible","right":"0"})
  257. // }else if(_x >493 && _x <= 539){
  258. // $(".level-tips").css({"visibility":"hidden"});
  259. // $("#level-5").css({"visibility":"visible","right":"0"})
  260. // }else if(_x >539 && _x <= 575){
  261. // $(".level-tips").css({"visibility":"hidden"});
  262. // $("#level-6").css({"visibility":"visible","right":"0"})
  263. // }else if(_x >575 && _x <= 600){
  264. // $(".level-tips").css({"visibility":"hidden"});
  265. // $("#level-7").css({"visibility":"visible","right":"0"})
  266. // }
  267. // });
  268.  
  269. // $(".combat-progress-bar").mouseout(function(){
  270. // $("#player-fighting-power").show();
  271. // $("i.down-arrow,i.up-arrow").show();
  272. // $("i.level-tips-arrow").hide();
  273. // $(".level-tips").css({"visibility":"hidden"});
  274. // });
  275. })
  276. </script>
  277. </div>
  278. </div>
  279.  
  280. <!-- <div class="mod-tabs-content hide">
  281. <table width="100%" border="0" cellspacing="0" cellpadding="0">
  282. <tr>
  283. <th scope="col">战斗力</th>
  284. <th scope="col">单双排5V5</th>
  285. <th scope="col"></th>
  286. </tr>
  287. <tr>
  288. <td id="zdlRank"></td>
  289. <td id="eloRanksRS5"></td>
  290. <td></td>
  291. </tr>
  292. <tr>
  293. <td colspan="3"><p class="note" style="color: #999999">眼下仅显示战斗力大于5000的玩家的排名数据、且最多显示前5万名。</p></td>
  294. </tr>
  295. </table>
  296. </div> -->
  297. <div class="mod-tabs-content hide" id="content_wan">
  298. loading
  299. </div>
  300. </div>
  301. </div>
  302. <script>
  303. KISSDW.tabs("#tab1");
  304. </script>
  305. <div class="clearfix">
  306. <div class="recent bd-r fl">
  307. <div class="recent-hd">
  308. <h3>近期比赛</h3>
  309. <a href="matchList.php?serverName=%E7%94%B5%E4%BF%A1%E4%B8%80&playerName=%E8%AF%B7%E5%8F%AB%E6%88%91%E4%B8%AD%E8%B7%AF%E6%9D%80%E7%A5%9E">很多其它战报>></a>
  310. </div>
  311. <table width="100%" border="0" cellspacing="0" cellpadding="0">
  312. <tr>
  313. <th scope="col">英雄</th>
  314. <th scope="col">模式</th>
  315. <th scope="col">结果</th>
  316. <th scope="col">时间</th>
  317. </tr>
  318. <tr>
  319. <td><img src="http://img.lolbox.duowan.com/champions/Sion_24x24.jpg" title="亡灵勇士" alt=""></td>
  320. <td>排位赛</td>
  321. <td><em class="green">胜利</em></td>
  322. <td>05-03 16:05 </td>
  323. </tr>
  324. <tr>
  325. <td><img src="http://img.lolbox.duowan.com/champions/TwistedFate_24x24.jpg" title="卡牌大师" alt=""></td>
  326. <td>排位赛</td>
  327. <td><em class="green">胜利</em></td>
  328. <td>05-02 14:40 </td>
  329. </tr>
  330. <tr>
  331. <td><img src="http://img.lolbox.duowan.com/champions/Mordekaiser_24x24.jpg" title="金属大师" alt=""></td>
  332. <td>排位赛</td>
  333. <td><em class="green">胜利</em></td>
  334. <td>04-29 19:24 </td>
  335. </tr>
  336. <tr>
  337. <td><img src="http://img.lolbox.duowan.com/champions/Sion_24x24.jpg" title="亡灵勇士" alt=""></td>
  338. <td>排位赛</td>
  339. <td><em class="green">胜利</em></td>
  340. <td>04-28 14:35 </td>
  341. </tr>
  342. <tr>
  343. <td><img src="http://img.lolbox.duowan.com/champions/MasterYi_24x24.jpg" title="无极剑圣" alt=""></td>
  344. <td>排位赛</td>
  345. <td><em class="red">失败</em></td>
  346. <td>04-26 15:25 </td>
  347. </tr>
  348. <tr>
  349. <td><img src="http://img.lolbox.duowan.com/champions/MasterYi_24x24.jpg" title="无极剑圣" alt=""></td>
  350. <td>排位赛</td>
  351. <td><em class="red">失败</em></td>
  352. <td>04-26 14:44 </td>
  353. </tr>
  354. <tr>
  355. <td><img src="http://img.lolbox.duowan.com/champions/Zed_24x24.jpg" title="影流之主" alt=""></td>
  356. <td>排位赛</td>
  357. <td><em class="red">失败</em></td>
  358. <td>04-26 14:01 </td>
  359. </tr>
  360. </table>
  361. </div>
  362. <div class="recent fr">
  363. <div class="recent-hd" style="color:red">
  364. <!-- <h3>LOL迷你盒子</h3> -->
  365. <!-- <a href="qrcode.php?serverName=%E7%94%B5%E4%BF%A1%E4%B8%80&playerName=%E8%AF%B7%E5%8F%AB%E6%88%91%E4%B8%AD%E8%B7%AF%E6%9D%80%E7%A5%9E" target="_blank">二维码扫描</a> -->
  366. </div>
  367. <div id="a3Ad" class="td-code clearfix" style="padding:6px 0 0 12px;">
  368. <!-- <a href="http://torchforgaming.org/cn/?<ype=ad" target="_blank">
  369. <img src="images/ad/290-210.jpg" />
  370. </a> -->
  371. <script src="http://market.duowan.com/duowan/227029561269.js"></script>
  372. <!-- <div class="pic" style="width:125px;">
  373. <img src="images/ad/mini_hezi.png" style="width:125px;" alt="LOL盒子" />
  374. </div>
  375. <p>* 游戏读条摇出对阵信息</p>
  376. <p> </p>
  377. <p>* 英雄介绍出装配音皮肤</p>
  378. <p> </p>
  379. <p>* 论坛、最新动态、攻略</p>
  380. <p> </p>
  381. <p><a href="http://lol.duowan.com/hezi/m" target="_blank" class="btn">盒子Android版</a></p> -->
  382. </div>
  383. <!--
  384. <div class="record clearfix" style="width:314px;">
  385. <ul class="clearfix">
  386. <li><i class="sub_head sub_head1"></i><em class="sub_name">战斗力</em><br>
  387. </ul>
  388. <p class="note">眼下仅显示10万名以内的排名数据。
  389.  
  390. </p>
  391. <p style="text-align: center; border: 1px solid rgb(221, 221, 221); padding: 5px; width: 90%; margin: 10px 0px 0px 15px;"><a href="http://lol.duowan.com/hezi/m/?ltype=ad" target="_blank" style="font-weight:bold">LOL迷你盒子</a>:手机逛论坛、载入时摇出对阵信息</p>
  392.  
  393. </div>-->
  394. </div>
  395. </div>
  396. </div>
  397. </div>
  398.  
  399. <div id="__dvCompute" style="font-size:12px;position:absolute;visibility:hidden"></div>
  400. <script type="text/javascript">
  401. function StrRangeCompute(str) {
  402. var d = document.getElementById('__dvCompute');
  403. d.innerHTML = str;
  404. return { w: d.offsetWidth, h: d.offsetHeight };
  405. }
  406. function normalizePlayerName(playerName) {
  407. var maxWidth = 96;
  408. var range = StrRangeCompute(playerName);
  409. if (range.w > maxWidth) {
  410. var p = playerName[0];
  411. for (var i = 1; i < playerName.length; i++) {
  412. var _range = StrRangeCompute(p + playerName[i])
  413. if (_range.w > maxWidth)
  414. return p + '...';
  415. else
  416. p = p + playerName[i];
  417. }
  418. }
  419. return playerName;
  420. }
  421. var playerName = $('.intro #playerNameLink').text();
  422. if (playerName)
  423. $('.intro #playerNameLink').text(normalizePlayerName($('.intro #playerNameLink').text()));
  424. </script>
  425.  
  426. <script type="text/javascript">_hiido_no=0;_hiido_wid=["lbox"];</script>
  427. <script>
  428. function getCookie(cookieName)
  429. {
  430. var cookieString = document.cookie;
  431. var start = cookieString.indexOf(cookieName + '=');
  432. // 加上等号的原因是避免在某些 Cookie 的值里有
  433. // 与 cookieName 一样的字符串。
  434. if (start == -1) // 找不到
  435. return null;
  436. start += cookieName.length + 1;
  437. var end = cookieString.indexOf(';', start);
  438. if (end == -1)
  439. return cookieString.substring(start);
  440. return cookieString.substring(start, end);
  441. }
  442. function beenBlockedTimes(action)
  443. {
  444. var boxPlayerName=decodeURI(getCookie('boxPlayerName'));
  445. var boxServerName=decodeURI(getCookie('boxServerName'));
  446. //alert(action + boxServerName + boxPlayerName);
  447. $.ajax(
  448. {
  449. url: "webApi.php",
  450. data:{serverName:boxServerName,playerName:boxPlayerName,action:action},
  451. cache:false,
  452. success: function(msg){
  453. // alert(msg);
  454. if(msg == 1){
  455. location.reload();
  456.  
  457. }else if(msg == -1){
  458. alert('非法操作,请至少登陆一次游戏。');
  459. }
  460.  
  461. },
  462. error:function(){
  463. }
  464. });
  465. }
  466.  
  467. function focusPlayers(targetServerName,targetPlayerName,action)
  468. {
  469. var boxPlayerName=decodeURI(getCookie('boxPlayerName'));
  470. var boxServerName=decodeURI(getCookie('boxServerName'));
  471. $.ajax(
  472. {
  473. url: "webApi.php",
  474. data:{serverName:boxServerName,playerName:boxPlayerName,targetServerName:targetServerName,targetPlayerName:targetPlayerName,action:action},
  475. cache:false,
  476. success: function(msg){
  477. if(msg == '11'){
  478. location.reload();
  479.  
  480. }else if(msg == -1){
  481. alert('非法操作。请至少登陆一次游戏。');
  482. }
  483.  
  484. },
  485. error:function(){
  486. }
  487. });
  488. }
  489.  
  490. var playerEloRanksLoaded = false;
  491.  
  492. function loadEloRanks(playerName, serverName) {
  493. if (playerEloRanksLoaded == true)
  494. return;
  495.  
  496. $.getJSON('ajaxGetPlayerEolRanks.php', {playerName:encodeURIComponent(playerName), serverName:encodeURIComponent(serverName)}, function(data){
  497. if(data){
  498. $('#zdlRank').text(data.zdlRank ? '第' + data.zdlRank + '位' : '无');
  499. $('#eloRanksRS5').text(data.eloRanks.R_S_5 ? '第' + data.eloRanks.R_S_5 + '位' : '无');
  500. }
  501. });
  502.  
  503. playerEloRanksLoaded = true;
  504. }
  505. var playerRankedDataLoaded = false;
  506. function loadRankedData(playerName, serverName) {
  507. if (playerRankedDataLoaded == true)
  508. return;
  509. $.getJSON('ajaxGetWarzone.php', {playerName:encodeURIComponent(playerName), serverName:encodeURIComponent(serverName)}, function(data){
  510. if(data){
  511. var text = data.tier == null ? "":data.tier;
  512. text += (data.tier == null || data.rank == null) ?
  513.  
  514. "":"/";
  515. text += data.rank == null ? "":data.rank;
  516. text = text == "" ? "-":text;
  517. $('#ranked_tier').html('<span title="更新时间:' + data.warzone_updated + '">' + text + '</span>');
  518. if (data.league_points)
  519. $('#ranked_league_points').text(data.league_points);
  520. }
  521. });
  522.  
  523. playerEloRanksLoaded = true;
  524. }
  525. </script>
  526. <script>var stat_app_name = "boxgame_playerdetail"; var stat_uid = ""; var stat_oper_default = false; </script>
  527. <script src="http://assets.dwstatic.com/amkit/entry.js"></script>
  528. <script>
  529. seajs.use("p/statistics/main", function() {
  530. $('#a3Ad a').each(function() {
  531. if (!$(this).attr('data-stat')) return;
  532. var words = $(this).attr('data-stat').split('_');
  533. words[2] += '展示';
  534. webUserOper.spStat({ app:stat_app_name, oper: words.join('_'), tar: $(this).find('img').attr('src') });
  535. });
  536. });
  537. </script>
  538. <script src="http://www.duowan.com/duowan.js" type="text/javascript"></script>
  539. <script src="http://www.duowan.com/public/s/market_count.js" type="text/javascript"></script>
  540. <script src="http://assets.dwstatic.com/wan/E794B5E4BFA1E4B880.js?10" type="text/javascript"></script>
  541. <!--
  542. <div style="display:none;">
  543.  
  544. <div id="layer_box">
  545.  
  546. <img width="200" height="200" src="http://lolbox.duowan.com/doqrcode.php?serverName=%E7%94%B5%E4%BF%A1%E4%B8%80&playerName=%E8%AF%B7%E5%8F%AB%E6%88%91%E4%B8%AD%E8%B7%AF%E6%9D%80%E7%A5%9E" />
  547. </div>
  548.  
  549. </div>
  550. -->
  551. </body>
  552. </html>

解析:

  1. if(resource.contains("暂无数据"))
  2. {
  3. return "暂无数据";
  4. }
  5. Parser parser = null;
  6. NodeList nodeList;
  7. try
  8. {
  9. parser = new Parser(resource);
  10. parser.setEncoding("UTF-8");
  11. nodeList = parser.parse(new NodeFilter()
  12. {
  13. @Override
  14. public boolean accept(Node node)
  15. {
  16. // 战斗力
  17. String zdlStr = "";
  18. if (isContainsZdl(node.getText()))
  19. {
  20. zdlStr = replaceBlank(node.toPlainTextString().replace("战斗力", ""));
  21. ZDL = "战斗力:" + zdlStr + "\n";
  22. }
  23. // 场次和胜率
  24. if (node instanceof TableTag)
  25. {
  26. TableTag tag = (TableTag) node;
  27. TableRow[] rows = tag.getRows();
  28. for (int j = 0; j < rows.length; j++)
  29. {
  30. TableRow tr = (TableRow) rows[j];
  31. TableColumn[] td = tr.getColumns();
  32. for (int k = 0; k < td.length; k++)
  33. {
  34. if (td.length == 6)
  35. {
  36. if (k == 0)
  37. {
  38. ZDL = ZDL + replaceBlank(td[k].toPlainTextString()) + ":";
  39. }
  40. if (k == 1)
  41. {
  42. ZDL = ZDL + "场次=" + replaceBlank(td[k].toPlainTextString()) + " ";
  43. }
  44. if (k == 2)
  45. {
  46. ZDL = ZDL + "胜率=" + replaceBlank(td[k].toPlainTextString()) + "\n";
  47. }
  48. }
  49. }
  50. }
  51. }
  52. return false;
  53. }
  54. });
  55. }
  56. catch (Exception e)
  57. {
  58. e.printStackTrace();
  59. }
  60. return ZDL;

结果:

其他的 比方分段、近期游戏数据、什么的。都能够在返回的html中解析出来,这里就不多说了。

LOL 战斗力查询的更多相关文章

  1. asp.net mvc 利用过滤器进行网站Meta设置

    过去几年都是用asp.net webform进行开发东西,最近听说过时了,同时webform会产生ViewState(虽然我已经不用ruanat=server的控件好久了 :)),对企业应用无所谓,但 ...

  2. 使用TSQL查询和更新 JSON 数据

    JSON是一个非常流行的,用于数据交换的文本数据(textual data)格式,主要用于Web和移动应用程序中.JSON 使用“键/值对”(Key:Value pair)存储数据,能够表示嵌套键值对 ...

  3. UWP 律师查询 MVVM

    APP简介 律师查询是基于聚合数据的律师查询接口做的,这个接口目前处于停用状态,但是,由于我是之前申请的,所以,还可以用,应该是无法再申请了. 效果图 开发 一.HttpHelper 既然是请求接口的 ...

  4. Elasticsearch 5.0 中term 查询和match 查询的认识

    Elasticsearch 5.0 关于term query和match query的认识 一.基本情况 前言:term query和match query牵扯的东西比较多,例如分词器.mapping ...

  5. ASP.NET Aries 入门开发教程4:查询区的下拉配置

    背景: 今天去深圳溜达了一天,刚回来,看到首页都是微软大法好,看来离.NET的春天就差3个月了~~ 回到正题,这篇的教程讲解下拉配置. 查询区的下拉配置: 1:查询框怎么配置成下拉? 在配置表头:格式 ...

  6. ASP.NET Aries 入门开发教程3:开发一个列表页面及操控查询区

    前言: Aries框架毕竟是开发框架,所以重点还是要写代码的,这样开发人员才不会失业,哈. 步骤1:新建html 建一个Html,主要有三步: 1:引入Aries.Loader.js 2:弄一个tab ...

  7. ExtJS 4.2 业务开发(二)数据展示和查询

    本篇开始模拟一个船舶管理系统,提供查询.添加.修改船舶的功能,这里介绍其中的数据展示和查询功能. 目录 1. 数据展示 2. 数据查询 3. 在线演示 1. 数据展示 在这里我们将模拟一个船舶管理系统 ...

  8. 深入理解MySql子查询IN的执行和优化

    IN为什么慢? 在应用程序中使用子查询后,SQL语句的查询性能变得非常糟糕.例如: SELECT driver_id FROM driver where driver_id in (SELECT dr ...

  9. ElasticSearch 5学习(10)——结构化查询(包括新特性)

    之前我们所有的查询都属于命令行查询,但是不利于复杂的查询,而且一般在项目开发中不使用命令行查询方式,只有在调试测试时使用简单命令行查询,但是,如果想要善用搜索,我们必须使用请求体查询(request ...

随机推荐

  1. [CodeForces-440D]Berland Federalization

    题目大意: 给你一棵树,你可以删掉一些边,使得分除去的子树中至少有一棵大小为k. 问最少删去多少边,以及删边的具体方案. 思路: 树形DP. f[i][j]表示以i为根,子树中去掉j个点最少要删边的数 ...

  2. Problem G: 深入浅出学算法008-求佩尔方程的解

    Description 求关于x y的二次不定方程的解 x2-ny2=1 Input 多组输入数据,先输入组数T 然后输入正整数n(n<=100) Output 对于每组数据输出一行,求y< ...

  3. codeforces 85D D. Sum of Medians Vector的妙用

    D. Sum of Medians Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://codeforces.com/problemset/prob ...

  4. 2015 UESTC 搜索专题K题 秋实大哥の恋爱物语 kmp

    秋实大哥の恋爱物语 Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/contest/show/61 De ...

  5. winform中让pictureBox 显示的图片旋转

    img.RotateFlip(RotateFlipType.Rotate90FlipNone);顺时针旋转90度 RotateFlipType.Rotate90FlipNone 逆时针旋转90度 Ro ...

  6. Papilio Pro Boards

    http://papilio.cc/index.php?n=Papilio.PapilioOne The Papilio is an Open Source FPGA development boar ...

  7. 能使用html/css解决的问题就不要使用JS

    为什么说能使用html/css解决的问题就不要使用JS呢?两个字,因为简单.简单就意味着更快的开发速度,更小的维护成本,同时往往具有更好的体验,下面介绍几个实例. 1. 导航高亮 导航高亮是一种很常见 ...

  8. Ext表格控件

    表格控件其实也就是帮我们完成了数据的填充工作而已,具体的数据源.要显示的列,列的定制.数据源中的哪条数据显示在哪个列中等属性还是需要我们自己手动配置的,所以我们分下面几步来完成网格控件的数据绑定: 1 ...

  9. leetCode(28):Contains Duplicate II

    Given an array of integers and an integer k, find out whether there there are two distinct indices i ...

  10. matlab 人面检测

    Create a detector object. faceDetector = vision.CascadeObjectDetector;Read input image. I = imread(' ...