Javascript:从其他网址获取数据

时间:2013-03-08 05:30:34

标签: javascript

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

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

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

编辑:有关详细信息,请参阅此处:Request external website data using jQuery ajax

答案 1 :(得分: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

事实上,每次你不需要从'tag-soup'中取出正则表达式数据时,作为'奖励'你也save a kitten

你是否听到你内心的小疯狂科学家开始傻笑?

然后查看this answer了解更多信息(不要忘记更多示例的评论)。

祝你好运!