0

我想知道是否可以从另一个网站获取一些数据以将其显示在我的网站上。一个很好的例子可以是 alexa.com。例如,我需要在我的页面上的 div 中显示 Alexa 流量排名和声誉,因此每次 Alexa 更改其数据时它都会动态更改。

谢谢您的帮助。

4

2 回答 2

0

一种方法是向 Alexa.com 网站发出 ajax 请求,一旦你收到所有的 html,你就可以使用 jquery 或其他东西来为你想要的 div抓取它。感觉有点脏,但它是获得你想要的东西的简单方法。虽然这是假设他们的页面内容不是动态加载的。

编辑:有关更多信息,请参见:Request external website data using jQuery ajax

于 2013-03-08T05:34:15.210 回答
0

yahoo yql...(而不是 php?代理服务器端脚本)..

我偷偷怀疑您不拥有/控制外部链接站点,因此从不同站点获取内容将受到跨域安全限制(对于现代浏览器)。

因此,为了重新获得“用户的权力”,只需使用http://query.yahooapis.com/
jQuery 不是严格需要的。

示例 1:
使用类似 SQL 的命令:

select * from html 
where url="http://stackoverflow.com" 
and xpath='//div/h3/a'

以下链接将抓取 SO 以获取最新问题(绕过跨域安全公牛$#!7): http://query.yahooapis.com/v1/public/yql?q=select%20title%20from%20html%
20where %20url%3D%22http%3A%2F%2Fstackoverflow.com%22%20and%0A%20%20%20%20%20%20xpath%3D%27%2F%2Fdiv%2Fh3%2Fa%27%0A%20 %20%20%20&format=json&callback=cbfunc

如您所见,这将返回一个 JSON 数组(也可以选择 xml)并调用回调函数:cbfunc

事实上,作为“奖励”,每次您不需要从“标签汤”中正则表达式数据时, 您还可以保存一只小猫。

你听到你内心的疯狂小科学家开始咯咯地笑了吗?

然后查看此答案以获取更多信息(不要忘记更多示例的评论)。

祝你好运!

于 2013-03-08T06:44:45.657 回答