【问题标题】:Scraper Google App Engine for Steam刮板 Google App Engine for Steam
【发布时间】:2012-07-05 17:46:17
【问题描述】:

因此,基本上,目前,我们正在尝试编写一个基本的 HTML 5 页面,当您按下按钮时,该页面会返回用户在 Steam 上是在游戏中、离线还是在线。我们查看了 Steam API,要查找此信息,它需要此人的 64 位 ID (steamID64),而我们在网站上仅获得用户名。为了找到他们的 64 位 id,我们试图从一个网站 (steamidconverter.com) 中获取用户名的 64 位 id。我们尝试通过 javascript 执行此操作,但当然我们遇到了跨域块,不允许我们从我们的 google App Engine 网站访问该数据。

我有使用 Python 的经验,所以我试图弄清楚如何使用 Python 从那个网站(以steamidconverter.com/(personsusername) 的形式)获取 HTML。多亏了 Stack Overflow 上的另一篇文章,这在抓取方面取得了成功。

但是,我不知道如何将这些数据返回到 javascript 并让它完成其余的工作。我很难过,真的需要帮助。这一切都在谷歌应用引擎上。目前,它只是一个运行简单 javascript 的按钮,该 javascript 尝试使用 JQuery 来获取页面内容,但失败了。我不知道如何将两者结合起来!

请帮忙!

【问题讨论】:

    标签: jquery python html google-app-engine steam-web-api


    【解决方案1】:

    为什么不使用Steam as an OpenID provider?听起来像这样会给你用户的 ID:

    Steam 可以充当 OpenID 提供者。这允许您的应用程序验证用户的 SteamID,而无需他们在您的网站上输入他们的 Steam 用户名或密码(这将违反 API 使用条款。)只需为您选择的语言和平台下载一个 OpenID 库并使用http://steamcommunity.com/openid 作为提供者。 (返回的 Claimed ID 将包含用户的 64 位 SteamID。

    【讨论】:

    • 问题依然存在,我现在怎么获取这个人的状态,因为我仍然要抓取api提供的网站(api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/…当然用我们得到的密钥替换XXX)注册并使用该人的 Steam ID 的 YYY)以在该页面上获取 gameextraininfo。它还构成了跨域块。那部分是如何工作的,我将如何最有效地做到这一点。我可能不理解一些简单的事情。对不起,如果我看起来很笨。
    • 通常你想让你的后端代码——这里的 AppEngine python 东西——与第 3 方(在这种情况下为 Steam)API 通信,因为在运行 Javascript 时与其他人的 API 通信是有问题的出于您发现的原因,在浏览器中。我不确定 Steam API 的具体细节,因为我不熟悉它。
    • 查看使用其他网络框架的主要问题,这应该是移动兼容的,并且全部在浏览器中运行。它不应该有任何本地内存。 openID 的想法似乎很有希望,我会进一步追求。非常感谢您所做的一切,我希望我能以某种方式支持您的帖子。虽然我只有不到 15 个代表 =) 非常感谢!
    【解决方案2】:

    由于您从服务中获得了 Steam ID,因此您可以通过该 ID 向他们的 Steam 社区页面发出另一个请求。从那里你可以使用漂亮的汤返回一个 dom 来获取你的项目所需的信息。

    现在谈谈你的问题。如果您使用的是 Tornado 等 Web 框架,您可以在处理程序中的请求中完成所有这些操作,并且处理程序可以在页面中返回 json,您可以使用您的 javascript 代码呈现此 json。

    查看 Python 的 Web 框架,例如 Tornado 或 Django,以帮助您返回和显示数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-20
      • 1970-01-01
      • 2010-11-10
      • 2018-04-09
      • 2011-04-25
      • 2012-09-14
      • 2010-11-27
      • 1970-01-01
      相关资源
      最近更新 更多