如何从 Steam 中的其他个人资料中获取愿望清单数据?

Posted

技术标签:

【中文标题】如何从 Steam 中的其他个人资料中获取愿望清单数据?【英文标题】:How to get wishlist data from other profile in Steam? 【发布时间】:2018-12-25 17:57:55 【问题描述】:

Steam 推出了新的愿望清单:https://store.steampowered.com/wishlist/id/customName 或 id

我找到了下一个链接以获取有关用户的一些信息,该信息仅在您登录时有效,并且仅返回当前配置文件的数据:https://store.steampowered.com/dynamicstore/userdata/ - 如果我未登录,愿望清单为空。我可以看到愿望清单其他玩家,使用第一个链接,其中使用 wishlist.js 显示游戏。

如何在登录和未登录的情况下获取用户的愿望清单数据(来自其他个人资料,而不是我自己)?

【问题讨论】:

我也有同样的问题 :( 【参考方案1】:

您可以使用 curl 来完成。使用 curl 获取愿望清单页面并在其上应用 preg_match_all() 函数以获取用户愿望清单中每个应用的所有 appid 的数组。

preg_match_all('/"appid":(\d*),/', $response, $gameids);
$gameids = $gameids[1];
print_r($gameids);die;

【讨论】:

你理解错了问题。登录时从自己的个人资料中获取愿望清单数据没有问题。在没有和登录 Steam 的情况下获取第 3 方个人资料(朋友、公众)的愿望清单数据存在问题。 此方法适用于任何 Steam id,因为您从 curl 获取的 url 是 'https://store.steampowered.com/wishlist/profiles/'.$steam64id【参考方案2】:

g_rgWishlistData 包含所有愿望清单信息。

浏览器控制台: function getAppID(item, index) return item.appid; g_rgWishlistData.map(getAppID).join(",");

【讨论】:

【参考方案3】:

您可以在以下位置获取 JSON 格式的数据:

https://store.steampowered.com/wishlist/profiles/user_id/wishlistdata/

https://store.steampowered.com/wishlist/id/vanity_url/wishlistdata/

【讨论】:

【参考方案4】:

作为 472084 答案的补充:一些 Steam 用户使用 ID 而不是个人资料编号显示。对于这些用户,可以使用以下查询:

https://store.steampowered.com/wishlist/id/user_id/wishlistdata/

其中user_id需要替换为实际ID。

【讨论】:

以上是关于如何从 Steam 中的其他个人资料中获取愿望清单数据?的主要内容,如果未能解决你的问题,请参考以下文章

BeautifulSoup:抓取蒸汽愿望清单游戏 - .findAll 不返回在检查器中可见的嵌套 div

Magento 删除愿望清单中的产品

无法在用户愿望清单键中附加多个项目

如何从 Magento 2.0 Luma 模板中删除“我的愿望清单”和“比较产品”块?

Magento - 包含当前用户愿望清单的产品系列

从愿望清单中获得最佳分配[关闭]