1

我是一名学生,想在暑假期间找点乐子。有一个名为 www.saltybet.com 的网站,由两个 AI 玩格斗游戏。玩家可以在结果上赌假钱。

我想用 Java 制作一个软件,将游戏中遇到的每场比赛存储在 MySQL 数据库中,然后根据之前的结果下注。为此,第一步是读取两个 AI 玩家的名字。

现在,当我在 Firefox 中突出显示其中一个字符名称(右下角和左下角)并检查网站的来源时,它出现如下:

<div class="left">
    <span id="p1name" class="redtext">Lobo</span><br><br />
    <span class="field" id="player1wager">$2484343</span><br />
</div>

但是,当我选择查看整个页面源时,它会出现如下:

<div class="left">
    <span id="p1name" class="redtext">Player 1</span><br/><br />
    <span class="field" id="player1wager">$0</span><br />
</div>

请注意,“Lobo”更改为“Player 1”。现在,我知道如何将网站的 HTML 代码读入 Java。但是,我不断得到“玩家 1”和“玩家 2”而不是角色名称。有没有人知道如何从页面源中获取正确的玩家名称?

4

2 回答 2

2

您无需在 Java 中阅读此页面的 HTML。通过查看源代码,本网站通过 AJAX 从文件中获取数据:

http://www.saltybet.com/betdata.json

它经常更新。示例内容:

{"p1name":"The atom","p2name":"Sponge bob","p1total":"0","p2total":"0","status":"open","alert":""}

只需下载此文件并使用 JSON java 库将内容转换为对象:

于 2013-08-08T08:28:30.823 回答
1

当页面打开时,这些字段正在由代码 Javascript 更新。如果您想继续使用 Java 编程,这会使事情变得困难,但这里有一些您可以做的建议:

  • 看看像Selenium这样的东西——我自己对它的经验并不多,但它允许网页自动化并且可以作为 Firefox 插件运行。这可能会有所帮助,因为如果您在 Web 浏览器中打开该页面,它将允许 Javascript 执行。
  • 弄清楚页面上的 Javascript 是如何工作的。这可能很难,但也许您可以了解他们如何向服务器查询以获取玩家姓名,这将使您的项目更容易。
于 2013-08-08T08:18:45.177 回答