【问题标题】:Amazon API without AWS [closed]没有 AWS 的亚马逊 API [关闭]
【发布时间】:2017-09-10 22:46:51
【问题描述】:

我正在创建一个项目,它需要能够用 JS 抓取产品并找到产品名称、平均评论和导入主图像。 我意识到亚马逊为此提供了一个 API,但是有没有一种方法可以让我在不支付 AWS 费用的情况下获得它? 在 GitHub 上,我只找到了可以为我做这件事的 Python。有什么JS方式吗?

示例赞赏。

谢谢。

【问题讨论】:

  • 如果 python 只是进行 Web 服务调用,您可以在 js 中执行此操作。如果不是,请解释 python 代码是如何工作的。
  • 您是否阅读了关于如何“本许可不包括对任何亚马逊服务或其内容的任何转售或商业使用;对任何产品列表、描述或价格;对任何亚马逊服务或其内容的任何衍生使用;为任何第三方的利益而下载、复制或以其他方式使用帐户信息;或对数据挖掘、机器人或类似数据收集和提取工具的任何使用" 来自Amazon.com Conditions of Use?只是检查。
  • 谢谢。我知道这一点。
  • @portfoliobuilder 我在 2018 年初(或 2018 年年中)设法获得了一个联营账户,我不需要获得批准。我目前遇到了需要获得新令牌的问题,现在我需要让我的帐户获得批准。这是什么时候改变的?
  • @AChildofGod 很抱歉回复晚了,但这在 2018 年第三季度发生了变化。您现在需要获得批准,如果您在前几周没有进行任何销售,他们将完全删除您的帐户然后你必须重新开始。这是一个真正的痛苦。最新的规则更改搞砸了一切,因为您也不能再将他们的 API 用于移动应用程序。他们不允许这样做。就个人而言,我放弃了 PA-API 并转向了百思买。更好的客户服务,允许使用移动应用程序,并且他们对您正在构建的内容表现出兴趣。

标签: javascript html node.js amazon-web-services amazon


【解决方案1】:

您可以在 node.js 中通过对页面的 http 请求来执行此操作,然后屏幕抓取页面以获取信息。我确信他们有标准的 css 选择器,所以你只需寻找那些带有正则表达式的选择器并获取它们的值。

代码看起来像这样(我没有测试过这个代码,但在这里重复了 David Walsh 的工作:https://davidwalsh.name/nodejs-http-request

var http = require('http');

function getAmazonPageContent(callback) {

return http.get({
    host: 'www.amazon.com',
    path: '/What-Node-Brett-McLaughlin-ebook/dp/B005ISQ7JC/ref=sr_1_1?ie=UTF8&qid=1492187829&sr=8-1&keywords=node.js'
}, function(response) {
    // Continuously update stream with data
    var body = '';
    response.on('data', function(d) {
        body += d;
    });
    response.on('end', function() {

        // Data reception is done, do whatever with it!
        callback(body);
    });
});

}

【讨论】:

  • 这明显违反了amazon.com Conditions of Use
  • @Michael-sqlbot 您也应该将其发布在原始问题上。提问者可能不知道。
  • 这很难想象,但也许你是对的。相应地发表评论。
猜你喜欢
  • 1970-01-01
  • 2016-11-26
  • 2012-12-08
  • 1970-01-01
  • 2014-04-29
  • 2022-12-03
  • 1970-01-01
  • 2013-08-19
  • 1970-01-01
相关资源
最近更新 更多