抓取扑克之星免费赛玩家排行榜
生活随笔
收集整理的這篇文章主要介紹了
抓取扑克之星免费赛玩家排行榜
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
function getpokerstaropenplayers()
{//http://www.intellipoker.tw/leagues/Open-League/leaderboard?page=1// 獲取撲克之星開(kāi)放玩家排名$url = "http://www.intellipoker.tw/leagues/Open-League/leaderboard";$html = file_get_html($url);if($html == false){echo "get false";exit(0);}$playerrow = $html->find('tr[class="odd"]');$playerdata = array();if(!file_exists("d://pokerfree/paiming1.txt")){foreach($playerrow as $row){$paiming = $row->children[1];$palyername = $row->children[3]->find("a");$score = $row->children[count($row->children) - 1]->find("a");//print_r($paiming->innertext);//print_r($palyername[0]->innertext);//print_r($score[0]->innertext);$name = $palyername[0]->innertext;$name = str_replace("&", "&",$name);$name = str_replace("<", "<",$name);$name = str_replace(">", ">",$name);$name = str_replace("'", "'",$name);$name = str_replace("\"", """,$name);file_put_contents("d://pokerfree/paiming1.txt","<note player=\"".$name."\" label=\"5\" update=\"1404984118\">".$paiming->innertext.",".$score[0]->innertext."</note>\n",FILE_APPEND);//$playerdata[$paiming] = array($paiming,$palyername,$score);} }else{$data = file_get_contents("d://pokerfree/paiming1.txt");}for($i = 1;$i <= 500;$i++){if(!file_exists("d://pokerfree/paiming{$i}.txt")){$url = "http://www.intellipoker.tw/leagues/Open-League/leaderboard?page=".$i;$html = file_get_html($url);if($html == false){continue;}$playerrow = $html->find('tr[class="odd"]');foreach($playerrow as $row){if(count($row->children) < 6)continue;$paiming = $row->children[1];$palyername = $row->children[3]->find("a");$score = $row->children[count($row->children) - 1]->find("a");//print_r($paiming->innertext);//print_r($palyername[0]->innertext);//print_r($score[0]->innertext);//echo "<note player=\"".$palyername[0]->innertext."\" label=\"5\" update=\"1404984118\">".$paiming->innertext.",".$score[0]->innertext."</note>\n";$name = $palyername[0]->innertext;$name = str_replace("&", "&",$name);$name = str_replace("<", "<",$name);$name = str_replace(">", ">",$name);$name = str_replace("'", "'",$name);$name = str_replace("\"", """,$name);file_put_contents("d://pokerfree/paiming{$i}.txt","<note player=\"".$name."\" label=\"5\" update=\"1404984118\">".$paiming->innertext.",".$score[0]->innertext."</note>\n",FILE_APPEND);}}}//<note player="harry_bt2013" label="5" update="1404984118">會(huì)玩NL2-7等大牌ALL IN</note>}
上面代碼用到第三方HTML解析庫(kù)simple_html_dom.php
只是抓取了500頁(yè)以內(nèi)的玩家排名
每一頁(yè)的玩家排名數(shù)據(jù)都各自生成一個(gè)文件
然后通過(guò)批命令 copy *.txt > paiming.txt?合并出撲克之星自定義的標(biāo)注文件
因?yàn)橥ㄟ^(guò)網(wǎng)頁(yè)抓取,所以生成XML文件時(shí)候需要把一些字符轉(zhuǎn)義?
還有涉及到PHP 如何解析出HTML數(shù)據(jù)用法,值得記錄下來(lái)。
下面是玩家排名的一行的HTML代碼。這樣就可以知道PHP要查找到HTML代碼.
<tr class="odd"><td></td><td>1</td><td class="marked"><img src="http://media.intellipoker.com/images_site/global/themes/pso/arrow-dash-000.gif" alt="排名持平"> </td><td><img class="b-flag b-flag_DO" src="http://media.intellipoker.com/images_site/global/flags/blank.gif" alt="DO" title="DO"><a style="color: black;" href="#">Omegit@</a></td><td> <img src="/images_system/icons/global-chips20.png"></td> <td class="gap"></td><td class="marked">$150 </td><td class="gap"></td><td class="marked checked20">$1,500 </td><td class="checked" title="participated in:87"><img src="http://media.intellipoker.com/images_site/global/themes/pso/checked.png" alt=""></td><td><a style="color: black;" href="/leagues/Open-League/leaderboard?username=Omegit%40&user_id=4296180">2612.10</a></td></tr>這些標(biāo)注數(shù)據(jù)可以用來(lái)識(shí)別網(wǎng)上的那些玩家大概的實(shí)力,當(dāng)然是比不上那種專業(yè)數(shù)據(jù)軟件.請(qǐng)見(jiàn)諒
轉(zhuǎn)載于:https://www.cnblogs.com/maikkk/p/3922292.html
與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的抓取扑克之星免费赛玩家排行榜的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: NetBeans工具学习之道:NetBe
- 下一篇: 纯css3开发的响应式设计动画菜单(支持