【问题标题】:scraping Xbox Live member current activity抓取 Xbox Live 会员当前活动
【发布时间】:2011-02-11 21:42:51
【问题描述】:

我正在研究如何获取 Xbox Live 会员的状态(即不在线,在线玩_)。

唯一的方法是登录 Xbox.com,访问玩家页面,然后从 div 中抓取一些文本。 http://live.xbox.com:80/en-US/MyXbox/Profile?gamertag=example 看到这里

<div id="CurrentActivity">
     Call of Duty Black Ops - In Combat Training on Summit
</div>

有没有办法使用脚本登录http://xbox.com 或以其他方式查找玩家的当前状态?

编辑: 这是我的项目Xbox Messenger / Status

【问题讨论】:

  • 检查XBOX有没有API,一般可以这样获取数据!
  • XBOX 确实有一个 API,但是很难访问它,而且 API 没有给他他正在寻找的数据;它甚至没有给你你的成就:\

标签: php screen-scraping xbox


【解决方案1】:

您在 PHP 中使用 curl。您将需要存储 cookie 并在后续请求中重复使用您的 cookie 文件。

另一个脚本选项是使用mechanize。我上次检查没有 PHP 库,但有一个用于 Python、perl 和 Ruby 的库。

【讨论】:

  • 这不行,你必须使用可以利用JS的方法,因为MS的登录表单需要它。您可以从浏览器中窃取您的 RPSAuth cookie 并使用它,但这只是一种肮脏的会话劫持方法,最多只能让您保持登录状态长达 12 小时,之后您需要一个新的 cookie。
【解决方案2】:

http://live.xbox.com/en-US/Profile?Gamertag=GAMERTAG

在这里您可以在不登录网站的情况下找到玩家 Xbox Live 在线状态。用你在网上找到的任何方法刮掉它。

【讨论】:

    【解决方案3】:

    如果您只需要一个简单的解决方案,您可以使用 IRobotSoft 网络刮刀记录机器人。

    【讨论】:

      【解决方案4】:

      这是我刚刚编写的代码

      $opentag='<div class="presence">';
      $closetag='</div>';
      $url=file_get_contents('http://live.xbox.com/en-US/Profile?gamertag=major%20nelson')
      
      
      $presence=explode($opentag, $url);
      $presence=explode($closetag, $presence[1]);
      
      echo trim($presence[0]);
      

      【讨论】:

        猜你喜欢
        • 2016-11-14
        • 1970-01-01
        • 2017-07-23
        • 1970-01-01
        • 2018-03-27
        • 2018-05-18
        • 2022-12-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多