我非常好奇这个过程是如何运作的。这些网站 (http://www.sharkscope.com 和 http://www.pokertableratings.com) 每天从安全扑克网络(例如 PokerStars 和 Full Tilt)数据挖掘数千手。
他们是否拥有一批运行应用程序的服务器,可以打开数百个桌子 (窗口),然后以某种方式爬虫/数据挖掘正在进行的牌局?
从编程角度来看,这是如何运作的呢?
我非常好奇这个过程是如何运作的。这些网站 (http://www.sharkscope.com 和 http://www.pokertableratings.com) 每天从安全扑克网络(例如 PokerStars 和 Full Tilt)数据挖掘数千手。
他们是否拥有一批运行应用程序的服务器,可以打开数百个桌子 (窗口),然后以某种方式爬虫/数据挖掘正在进行的牌局?
从编程角度来看,这是如何运作的呢?
有几种选项。我一直在研究这个问题,因为我想在正在开发的一个Web应用程序中实现其中一些功能。以PokerStars为例,因为它是目前最安全的在线扑克网站。
首先,请注意开发人员无法从PokerStars应用程序本身提取实时信息。您无法访问API。不过,您可以执行以下操作:
屏幕截图/OCR
PokerStars尽其所能破坏对其应用程序的屏幕/文本截取(例如通过像素级颜色波动等简单操作),但只要您有足够的动机,就可以轻松绕过此限制。使用Google AutoHotkey结合ImageSearch即可实现。
API访问和XML源
PokerStars不提供其API的公共访问权限。但是,它确实向经过预批准的开发人员提供XML源。该XML源包括以下内容:
PokerStars站点概要-显示玩家、桌子和锦标赛计数
PokerStars当前锦标赛数据-包含有关即将到来和进行中的锦标赛的信息文件。数据提供在两个文件中:
PokerStars锦标赛结果-提供有关已完成比赛的信息。数据在两个文件中提供:
PokerStars锦标赛领袖榜-提供使用PokerStars锦标赛排名系统对顶级PokerStars玩家进行排名的信息
PokerStars锦标赛领袖榜BOP-提供使用PokerStars Battle Of Planets排名系统对顶级PokerStars玩家进行排名的信息
Team PokerStars-提供有关Team PokerStars玩家及其在线活动的信息
OnTableData() round -2
:::TableViewImpl::updateMyCard() 8s (0) [2A0498]
:::TableViewImpl::updateMyCard() 13h (1) [2A0498]
:::TableViewImpl::updatePlayerCard() 7s (0) [2A0498]
:::TableViewImpl::updatePlayerCard() 14s (1) [2A0498]
[2015/12/13 12:19:34]
祝福您,希望这有所帮助 Dave
我考虑了一下,有两个理论:
“嗅探器”网站打开了每个表格,并且:
或者,他们可能已经开发/修改了客户端来记录所有内容,但我认为上述解决方案之一更简单。
嗯,他们有两个选择:
猜猜他们更可能选择哪一个;至少如果该网站已经运营了一段时间而没有被关闭。