【问题标题】:Generate random 1000 profile pictures随机生成1000张头像
【发布时间】:2014-11-02 08:31:29
【问题描述】:

我正在尝试创建 1000 张由人口统计定义的随机个人资料照片。 例如:85% 女性,年龄 - 20 - 29 岁,国籍:美国等......

有人知道可以为我做这件事的任何服务吗?如果没有,是否有人对如何做到这一点有任何好的想法,强调逼真的个人资料图片和他们的名字?

谢谢

【问题讨论】:

  • 有什么用?出于隐私原因,您不得将这些照片用于任何用途。
  • 我正在创建一个 MVP,需要看看用户对它的反应。我的假设是,我会像 Reddit 那样一开始就创建大量虚假的个人资料,从而获得更好的结果。
  • 所以您想从从未授权您使用他们照片的用户那里获取来自 Facebook 的真实用户个人资料照片,以创建虚假个人资料?
  • ...或者您想在没有 facebook 连接的情况下生成随机图片?像化身的 lorem ipsum?
  • 这听起来不道德,为什么不使用彩色简笔画

标签: image facebook-graph-api social-networking user-profile gravatar


【解决方案1】:

当然,在用户不知情的情况下,不允许从 Facebook 抓取图片/个人资料,但有几个生成器可以做到这一点:

【讨论】:

  • 这些网站非常好,但如果我了解如何正确使用它们,它们不会扩展到 1000 个不同的个人资料图片。你知道其他方式或其他规模更大的服务吗?
  • 你确定他们不会扩大规模吗?我不知道任何限制,所以我猜你可以循环抓取它们。毕竟,您只需要执行一次并存储图像。
  • 循环执行会导致重复图片,这对我来说是个问题。 randomuser.me 有 200 个可能的用户库,lorempixel 不会按人口统计值返回图片。 tnx 反正
【解决方案2】:

https://developers.facebook.com/docs/graph-api/reference/user/picture/

<html>
  <body>

    <script>
      function getRandomInt() {
        return Math.floor(Math.random() * (10000 - 5)) + 4;
      }
      for(var i=0; i<10; i++) {
        imgUrl = "http://graph.facebook.com/v2.5/" + getRandomInt() + "/picture?height=200&height=200";
        elem = document.createElement("img");
        elem.setAttribute("src", imgUrl);
        elem.setAttribute("width", 200);
        elem.setAttribute("height", 200);
        document.body.appendChild(elem);
      }
    </script>
  </body>
</html>

【讨论】:

【解决方案3】:

<html>
  <body>

    <script>
      function getRandomInt() {
        return Math.floor(Math.random() * (10000 - 5)) + 4;
      }
      for(var i=0; i<10; i++) {
        imgUrl = "http://graph.facebook.com/v2.5/" + getRandomInt() + "/picture?height=200&height=200";
        elem = document.createElement("img");
        elem.setAttribute("src", imgUrl);
        elem.setAttribute("width", 200);
        elem.setAttribute("height", 200);
        document.body.appendChild(elem);
      }
    </script>
  </body>
</html>

【讨论】:

  • 请求此资源需要访问令牌。
【解决方案4】:

https://avatars2.githubusercontent.com/u/12345?s=360

只需将 /u/ 之后的值替换为任意数字即可。有几百万张照片。我想你可以猜到图片#1 属于谁。或者,您可以使用 s 参数设置大小。在本例中,它的高度和宽度为 360 像素。

但是请不要疯狂并在短时间内开始下载数千张图片,否则 Github 可能会注意到这一点并开始实施限制,这将毁掉所有开发人员。如果您将其保持在 1000 并且避免重复调用他们的服务器,您将不会像机器人一样被注意到。更好的解决方案是一次性下载您需要的所有图像并将它们缓存并从您自己的设备或服务器上使用它们,而不是不断地访问 Github 的服务器。

更好的是,有一个免费的 API:

https://fakedata.dev/

它允许您生成大约一百万个随机用户或 1,000 个非随机用户。

【讨论】:

    【解决方案5】:

    【讨论】:

      【解决方案6】:

      <html>
        <body>
      
          <script>
            function getRandomInt() {
              return Math.floor(Math.random() * (10000 - 5)) + 6;
            }
            for(var i=0; i<10; i++) {
              imgUrl = "http://graph.facebook.com/v2.5/" + getRandomInt() + "/picture?height=350&height=350";
              elem = document.createElement("img");
              elem.setAttribute("src", imgUrl);
              elem.setAttribute("width", 350);
              elem.setAttribute("height", 350);
              document.body.appendChild(elem);
            }
          </script>
        </body>
      </html>

      【讨论】:

      • 这似乎只是对 Meiko 答案的轻微改动副本,没有任何原创内容可贡献?
      猜你喜欢
      • 2021-11-21
      • 1970-01-01
      • 2022-12-04
      • 1970-01-01
      • 1970-01-01
      • 2010-09-29
      • 1970-01-01
      • 1970-01-01
      • 2015-07-12
      相关资源
      最近更新 更多