从亚马逊

时间:2015-08-29 08:37:25

标签: java html excel embed amazon

我正在努力收集全球所有亚马逊单一产品的销售排名。由于亚马逊没有列出这些信息,唯一的方法就是访问每个国际网站上的每一个产品,这非常耗时。

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

然而,我似乎无法获得iframe,嵌入或反对工作。我基本上想从这样的页面中拉出销售排名(ID = SalesRank):

  

http://www.amazon.com/gp/product/B0082SWC30 = 1&安培; 条目 = 0

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

我认为这是它的控制ID:

<li id="SalesRank">

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

例如,我的页面将显示:

  

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

     

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

     

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

     

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

等等...

因此,我将拉出以下网址的销售排名:

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}

但我认为,如果我在20本书中的13个国家/地区进行Excel中的refesh按钮将会爆炸。我希望将它拉入网页会更快更容易,但我无法弄清楚我应该使用哪些代码来实现它。

iframe似乎被亚马逊阻止,Embed会出现一个firefox插件错误,对象只是在我所做的所有尝试中都显示一个空白屏幕。

1 个答案:

答案 0 :(得分:0)

我找到了答案。这虽然是一种解决方法。

使用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加载它更快。