我试图收集所有的世界范围内的单一产品在亚马逊的销售队伍。由于亚马逊没有列出这些信息,获得这些信息的唯一途径就是访问每一个国际网站上的每一个产品,这很费时。
因此,我试图从亚马逊的产品页面中提取一些数据,在我的网站上显示出来。我想如果我能在某个地方实时收集所有的数据,它将是即时访问的。
然而,我似乎无法让iframes、embed或object工作。我基本上想从这样的页面中提取销售级别(ID = SalesRank):
http://www.amazon.com/gp/product/B0082SWC30Version=1&entries=0
并在我的网站上展示。它的想法是,这将是实时的,我可以看看我的网站,以查看我想要看到的排名。(此外,URL不应该因为末尾附加的代码而危害/垃圾处理Amazon算法)
我认为这就是它的控制ID:
<li id="SalesRank">有没有办法以某种方式收集HTML页面中的数据,从而使其自动更新以与Amazon版本相匹配?
例如,我的页面将显示:
书名:“远大的期望”国家:美国目前的销售排名:(结果在这里) 书名:“远大的期望”国家:英国目前的销售排名:(结果在这里) 书名:“远大的期望”国家:德国当前的销售排名:(结果在这里) 书名:“远大的期望”国家:荷兰目前的销售排名:(结果在这里)
等等..。
因此,我会为以下URL将销售排名调高:
amazon.com/gp/product/B0082SWC30?Version=1&entries=0
amazon.co.uk/gp/product/B0082SWC30?Version=1&entries=0
amazon.de/gp/product/B0082SWC30?Version=1&entries=0
amazon.nl/gp/product/B0082SWC30?Version=1&entries=0
我已经成功地将它输入到Excel中,使用来自网络的函数和这个数组来提取我想要的数据:
{=MID(INDEX('BookUS'!$A:$A,MATCH(FALSE,ISERROR(SEARCH("Best Sellers Rank",'BookUS'!$A:$A)),0)),28,6)*1}但我在想,如果我在13个国家的20本书上这样做,Excel中的refesh按钮就会爆炸。我本来希望把它放到网页上会更快更容易,但我不知道我应该用什么代码来完成它。
如果亚马逊( Amazon )阻止了它,嵌入会引发firefox插件错误,而object在我所有的尝试中都会显示一个空白屏幕。
发布于 2015-08-29 11:18:54
我找到了答案。不过,这是个解决办法。
使用这个答案中的插件: Chrome中的https://stackoverflow.com/a/25182446/5279336,我可以使用“object”链接到任何亚马逊产品页面(或多个),如下所示:
<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文件,检查我在所有国家的所有级别。如果我能提取出我想要的具体数据并在表中浏览一眼,那就太好了,但我不确定使用'object‘是否可能。不过,它比等待Excel加载更快。
https://stackoverflow.com/questions/32284179
复制相似问题