如何从 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