【问题标题】:Embed external website data from Amazon嵌入来自亚马逊的外部网站数据
【发布时间】:2015-11-23 21:22:01
【问题描述】:

我正在尝试收集亚马逊上单一产品的所有销售排名。由于亚马逊没有列出这些信息,因此获取它的唯一方法是访问每个国际网站上的每个产品,这很耗时。

所以我试图从亚马逊产品页面中提取一些数据以将其显示在我的网站上。我想如果我可以在某个地方实时收集所有数据,它将立即被访问。

但是,我似乎无法让 iframe、嵌入或对象工作。我基本上想从这样的页面中提取销售排名(ID = SalesRank):

http://www.amazon.com/gp/product/B0082SWC30?版本=1&条目=0

并将其显示在我的网站上。这个想法是它是实时的,我可以只看我的网站来查看我想看到的排名。 (此外,由于末尾附加了代码,该 URL 不应损害/向亚马逊算法发送垃圾邮件)

我认为这是它的控制 ID:

<li id="SalesRank">

有没有办法以某种方式在 HTML 页面中收集这些数据,以便自动更新以匹配亚马逊版本?

比如我的页面会显示:

书名:远大前程 |国家:美国 |当前的 销售排名:(此处为结果)

书名:远大前程 |国家:英国 |当前的 销售排名:(此处为结果)

书名:远大前程 |国家:德国 |当前销售额 排名:(结果在这里)

书名:远大前程 |国家:荷兰 |当前销售额 排名:(结果在这里)

等等……

所以我会提高以下 URL 的销售排名:

amazon.com/gp/product/B0082SWC30?版本=1&条目=0

amazon.co.uk/gp/product/B0082SWC30?版本=1&条目=0

amazon.de/gp/product/B0082SWC30?版本=1&条目=0

amazon.nl/gp/product/B0082SWC30?版本=1&条目=0

我已经设法将它导入 Excel,使用 From Web 函数和这个数组来提取我想要的数据:

{=MID(INDEX('BookUS'!$A:$A,MATCH(FALSE,ISERROR(SEARCH("Best Sellers Rank",'BookUS'!$A:$A)),0)),28,6)*1}

但我认为,如果我在 13 个国家/地区对 20 本书执行此操作,Excel 中的刷新按钮将会爆炸。我希望将其拉入网页会更快更容易,但我不知道应该使用什么代码来实现。

iframe 似乎被亚马逊屏蔽了,Embed 引发了一个 firefox 插件错误,并且在我所做的所有尝试中,对象只是显示一个空白屏幕。

【问题讨论】:

    标签: java html excel embed amazon


    【解决方案1】:

    我找到了答案。不过,这是一种解决方法。

    在 Chrome 中使用来自这个答案的插件:https://stackoverflow.com/a/25182446/5279336,我可以使用“对象”链接到任何亚马逊产品页面(或多个),如下所示:

        <div>
    <object data="http://www.amazon.com/gp/product/B0082SWC30?Version=1&entries=0" width="600" height="500"> 
    <embed src="http://www.amazon.com/gp/product/B0082SWC30?Version=1&entries=0" width="600" height="500"> </embed>
    </object>
    </div>
    

    然后我可以列出我想在页面上显示的所有产品,从我的桌面打开 html 文件并检查我在所有国家/地区的所有排名。如果我可以提取我想要的特定数据并在表格中查看以一目了然,那就太好了,但我不确定是否可以使用“对象”。不过,这比等待 Excel 加载所有内容要快。

    【讨论】:

      猜你喜欢
      • 2016-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多