Как именно эти данные получаются с помощью данных Sharkscope или PTR? - PullRequest
15 голосов
/ 25 октября 2010

Мне очень любопытно узнать, как работает этот процесс.Эти сайты (http://www.sharkscope.com и http://www.pokertableratings.com) извлекают тысячи раздач в день из защищенных покерных сетей, таких как PokerStars и Full Tilt.

Есть ли у них ферма серверов, на которых работают приложениякоторые открывают сотни таблиц (окон), а затем каким-то образом разбивают паук / дататы на играемых руках?

Как это работает, программируя мудро?

Ответы [ 4 ]

24 голосов
/ 12 августа 2012

Есть несколько вариантов. Я исследовал это, так как я хотел реализовать некоторые из этих функций в веб-приложении, над которым я работаю. Я буду использовать PokerStars, например, поскольку они, безусловно, обеспечивают лучшую защиту любого онлайн покерного сайта.

Во-первых, осознайте, что разработчик не может извлекать информацию в реальном времени из самого приложения PokerStars. Вы не можете получить доступ к API. Вы можете, однако, сделать следующее:

Очистка экрана / OCR

PokerStars делает все возможное, чтобы саботировать очистку экрана / текста своего приложения (выполняя простые действия, такие как колебания цвета на уровне пикселей), но с достаточной мотивацией вы можете легко обойти это. Google AutoHotkey в сочетании с ImageSearch.

Доступ к API и каналы XML

PokerStars не предоставляет публичный доступ к своему API. Но он предлагает XML-канал разработчикам, которые предварительно одобрены. Этот XML-канал предлагает:

  • Сводка по сайту PokerStars - показывает количество игроков, столов и турниров

  • Данные текущего турнира PokerStars - файлы с информацией о предстоящих и активных турнирах. Данные представлены в двух файлах:

    • Статические данные турнира PokerStars - предоставляет информацию о турнире, которая меняется не часто, и
    • Данные PokerStars Dynamic Tournament - предоставляет часто меняющуюся информацию о турнире
  • Результаты турниров PokerStars - предоставляет информацию о проведенных турнирах. Данные представлены в двух файлах:

    • Результаты турниров PokerStars - предоставляет основную информацию о проведенных турнирах и
    • Расширенные результаты турнира PokerStars - предоставляет расширенную информацию о завершенных турнирах.
  • Таблица лидеров турниров PokerStars - предоставляет информацию о лучших игроках PokerStars, ранжированных с помощью системы рейтинга турниров PokerStars

  • BOP доски лидеров турниров PokerStars - предоставляет информацию о лучших игроках PokerStars, ранжированных по системе рейтинга PokerStars Battle of Planets

  • Team PokerStars - предоставляет информацию об игроках Team PokerStars и их онлайн-активности

Маловероятно, что эти сайты имеют доступ к XML-каналу (или улучшенному, который обеспечивал бы всю необходимую функциональность), поскольку PokerStars не совсем в хороших отношениях с большинством этих сайтов.

Это оставляет два варианта. Очистка сетевого подключения для указанных данных, что, по моему мнению, является пограничным, невозможно (у меня нет опыта с этим, поэтому я не уверен; я слышал, что оно сильно зашифровано и с ним нелегко возиться, но я не уверен ) и, как упоминалось выше, очистка экрана / OCR.

Вариант № 2 достаточно прост в реализации и, при некоторой работе, может избежать обнаружения. Из того, что я смог собрать, это единственный способ, которым они могли бы проводить такой массивный анализ данных PokerStars (я не изучал другие сайты, но я слышал, что безопасность всего, кроме PokerStars / Full Tilt, довольно ужасна ).

[править] Перечитал ваш вопрос и понял, что я не ответил однозначно.

Да, у них, вероятно, огромное количество серверов, работающих за всеми текущими столами, турнирами и т. Д. Поймите, что в том, что они делают, есть приличная сумма денег.

Например, это может быть то, как они это делают (предположение):

Указанные бот-приложения следят за таблицами и данными, собирая всю информацию, которая «публикуется» в журнале чата. Они делают это, уже имея таблицу изображений, которая соответствует, например, всем буквам алфавита (поскольку PokerStars не публикует свой текст как ... текст. Весь текст в их программном обеспечении на самом деле изображение ). Итак, бот затем копирует изображение из журнала чата, сопоставляет его с магазином, преобразует данные в формат, с которым они могут работать, и выбрасывает его в базу данных. Готово.

[править] Нет, данные не продаются им самими покерными сайтами.Это было бы кошмаром пиара, если бы он когда-либо вышел, который это будет.И это не будет учитывать функциональность этих сайтов, которая выглядит мгновенно.OPR, Sharkscope и т. Д. Существуют, без сомнения, приложения, которые в реальном времени извлекают данные из покерного программного обеспечения, вероятно, с использованием перечисленных мной методов.

4 голосов
/ 14 декабря 2015

может быть, я могу помочь. Я играю в покер, запускаю HUD, смотрю статистику и являюсь разработчиком программного обеспечения.

Я видел несколько сообщений об этом, предполагающих, что это сделано с помощью программного обеспечения OCR, захватившего экран. Что ж, это действительно сложно и требует много ресурсов процессора, поэтому программист не выбрал бы это, если бы не было других вариантов. Кроме того, поскольку вы можете открывать несколько окон, окно покера может быть скрыто или частично скрыто другими объектами на экране, поэтому вы не можете гарантировать возможность захвата экрана.

Короче говоря, они читают файлы журналов, которые выводятся покерным программным обеспечением.

Когда вы устанавливаете свой HUD, например, Sharkscope, Jivaro и т. Д., Они запускают клиентское программное обеспечение на вашем ПК. Он читает файлы журнала и обновляет свои собственные серверы с каждой сыгранной вами рукой.

Большинство покерных программ похожи, но давайте начнем с Pokerstars, где я и играю. Программное обеспечение Poker выводит в локальные файлы журналов каждое действие, которое вы / оно делаете. Он показывает ваши карты, любые карты противников, которые вы видите, плюс то, что вы делаете. например. какую кнопку вы нажали, сколько вы / они сделали ставку и т. д. Он публикует эти обновления почти в реальном времени и отмечает время в файле журнала.

Вы можете посмотреть свои собственные файлы, чтобы увидеть это в действии. На ПК сделайте это (не уверен, что вы делаете на Mac, но будет похоже) 1. Загрузите проводник 2. Выберите VIEW из меню 3. Выберите скрытые элементы, чтобы вы могли видеть скрытые файлы данных 4. Перейдите в C: \ Users \ Dave \ AppData \ Local \ PokerStars.UK (вас могут не называть DAVE ...) 5. Откройте файл PokerStars.log.0 в NOTEPAD 6. В Блокноте ПОИСК для обновления MyCard 7. Он покажет вашу карту численно 3c для 3 клубов 14d для туза с бриллиантами

Вы можете видеть карты своих противников только там, где вы их видели за столом.

Вот несколько примеров строк из файла журнала.

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

1 голос
/ 07 августа 2012

Ну, у них есть два варианта:

  • они паук / захватывают данные без согласия.Тогда они рискуют быть закрыты в любое время .Покерный сайт может легко обнаружить такой мониторинг в таком масштабе и заблокировать его.И даже рискует подать в суд за нарушение условий обслуживания , что, вероятно, запрещает использование роботов.
  • они платят за получение данных напрямую.Это экономит большую пропускную способность (например, не нужно загружать полные страницы, извлечение, обновления с изменениями HTML и т. Д.) И делает их бизнес гораздо менее рискованным (юридически и технически).

Угадайте, какой из нихони скорее выбрали;по крайней мере, если сайт был в течение некоторого времени без остановки время от времени.

1 голос
/ 28 октября 2010

Я думал об этом, и у меня есть две теории:

На сайтах "сниффера" открыты все таблицы, И:

  1. способны извлекать данные руки изсетевой поток.(или:)
  2. Получают данные руки из GUI (очистка экрана, извлечение материала через API GUI).

С другой стороны, они могли разрабатывать / изменять клиентов длязапишите все для них, но я думаю, что одно из приведенных выше решений, вероятно, проще.

...