抓取扑克之星免费赛玩家排行榜

function getpokerstaropenplayers()
{
	//http://www.intellipoker.tw/leagues/Open-League/leaderboard?page=1
	// 获取扑克之星开放玩家排名
	$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">会玩NL2-7等大牌ALL IN</note>

}

  上面代码用到第三方HTML解析库simple_html_dom.php

  只是抓取了500页以内的玩家排名

  每一页的玩家排名数据都各自生成一个文件

  然后通过批命令 copy *.txt > paiming.txt 合并出扑克之星自定义的标注文件

  因为通过网页抓取,所以生成XML文件时候需要把一些字符转义

  还有涉及到PHP 如何解析出HTML数据用法,值得记录下来。

  下面是玩家排名的一行的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="排名持平">&nbsp;                    </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="#">[email protected]</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&amp;user_id=4296180">2612.10</a>
                    </td>
                </tr>

这些标注数据可以用来识别网上的那些玩家大概的实力,当然是比不上那种专业数据软件.请见谅

  

  

抓取扑克之星免费赛玩家排行榜

时间: 2024-11-04 13:33:15

抓取扑克之星免费赛玩家排行榜的相关文章

pytohn爬虫成长之路:抓取代理IP并多线程验证

上回说到,突破反爬虫限制的方法之一就是多用几个代理IP,但前提是我们得拥有有效的代理IP,下面我们来介绍抓取代理IP并多线程快速验证其有效性的过程. 一.抓取代理IP 提供免费代理IP的网站还挺多的,我在'西刺代理'上一阵猛抓后自己的IP就被其屏蔽了.只好换'IP巴士'并乖乖的减缓抓取速度了.贴上抓取代码 import urllib.request import urllib import re import time import random #抓取代理IP ip_totle=[] #所有页

抓取自己的免费服务器

写这篇文章的初衷是要为自己提供免费的科(fan)学(qiang)上网服务器,方法简单粗暴,而且行之有效.本次尝试使用py语言抓取,会shell 的请自行略过,我只是不想讨论哪个是最好的语言. 写这个的时候免费服务器已经关闭,所以用了其他图片进行替换,敬请谅解. 原理,在 https://www.cellsystech.net/docs/?抓取 二维码图片地址,二维码要进行解析,参考了 google zxing 在线二维码解析方案 ?http://zxing.org/w/decode.jspx?,

C#多线程爬虫抓取免费代理IP

这里用到一个HTML解析辅助类:HtmlAgilityPack,如果没有网上找一个增加到库里,这个插件有很多版本,如果你开发环境是使用VS2005就2.0的类库,VS2010就使用4.0,以此类推..........然后直接创建一个控制台应用,将我下面的代码COPY替换就可以运行,下面就来讲讲我两年前做爬虫经历,当时是给一家公司做,也是用的C#,不过当时遇到一个头痛的问题就是抓的图片有病毒,然后系统挂了几次.所以抓网站图片要注意安全,虽然我这里没涉及到图片,但是还是提醒下看文章的朋友. clas

scrapy抓取免费代理IP

1.创建项目 scrapy startproject getProxy 2.创建spider文件,抓取www.proxy360.cn www.xicidaili.com两个代理网站内容 cd项目的spiders模块下执行 scrapy genspider proxy360Spider proxy360.cn scrapy genspider xiciSpider xicidaili.com scrapy shell http://www.proxy360.cn/Region/China scra

为何大量网站不能抓取?爬虫突破封禁的6种常见方法

在互联网上进行自动数据采集(抓取)这件事和互联网存在的时间差不多一样长.今天大众好像更倾向于用“网络数据采集”,有时会把网络数据采集程序称为网络机器人(bots).最常用的方法是写一个自动化程序向网络服务器请求数据(通常是用 HTML 表单或其他网页文件),然后对数据进行解析,提取需要的信息. 本文假定读者已经了解如何用代码来抓取一个远程的 URL,并具备表单如何提交及 JavaScript 在浏览器如何运行的机制.想更多了解网络数据采集基础知识,可以参考文后的资料. 在采集网站的时会遇到一些比

python自然语言处理1——从网络抓取数据

python自然语言处理1--从网络抓取数据 写在前面 本节学习python2.7 BeautifulSoup库从网络抽取数据的技术,检验之简而言之就是爬虫技术.网络编程是一门复杂的技术,在需要基础的地方,文中给出的链接地址,都是很好的教程,可以参考,我在这里不在重复发明轮子.本节的主旨在于: 帮助快速掌握基本爬虫技术,形成一条主线,能为自己的实验构造基础数据.掌握爬虫技术后,可以从网络抓取符合特定需求的数据供分析,这里学习的爬虫技术适用于数据挖掘.自然语言处理等需要从外部挖掘数据的学科. 1.

用curl抓取网站数据,仿造IP、防屏蔽终极强悍解决方式

最近在做一些抓取其它网站数据的工作,当然别人不会乖乖免费给你抓数据的,有各种防抓取的方法.不过道高一尺,魔高一丈,通过研究都是有漏洞可以钻的.下面的例子都是用PHP写的,不会用PHP来curl的孩纸先学习一下这块再往下看,可以参考这篇文章:http://blog.csdn.net/linglongwunv/article/details/8020845 下面言归正传,先说一种常见的方式,伪造来源IP,这也是好多刷票朋友常用的方法: 1.简单一点的可以在header伪造X-FORWARDED-FO

Fiddler:在PC和移动设备上抓取HTTPS数据包

Fiddler是一个免费的Web调试代理,支持任何浏览器.系统以及平台.这个工具是进行Web和App网络开发的必备工具,戳此处下载. 根据Fiddler官网的描述,具有以下六大特点: Web调试 性能测试 HTTP/HTTPS流量记录 Web会话处理 安全测试 自定义扩展性 本文讨论的主要内容是如何设置Fiddler,使PC和移动设备上可以抓取HTTPS数据包. 首先,在菜单栏选择Tools->FiddlerOptions,切换到Connections选项卡 第二步,勾选允许远程连接,并设置一个

使用 Python 抓取欧洲足球联赛数据

Web Scraping 在大数据时代,一切都要用数据来说话,大数据处理的过程一般需要经过以下的几个步骤 数据的采集和获取 数据的清洗,抽取,变形和装载 数据的分析,探索和预测 数据的展现 其中首先要做的就是获取数据,并提炼出有效地数据,为下一步的分析做好准备. 数据的来源多种多样,以为我本身是足球爱好者,而世界杯就要来了,所以我就想提取欧洲联赛的数据来做一个分析.许多的网站都提供了详细的足球数据,例如: 网易 http://goal.sports.163.com/ 腾讯体育 http://so