通过javascript从网站获取动态内容

时间:2013-03-17 02:09:59

标签: javascript parsing dynamic xmlhttprequest web-scraping

我正在创建一个firefox插件并使用javascript。我正在使用XMLHttpRequest从远程网站获取动态内容并将其存储到文件中以便稍后解析。但在responseText中,我没有收到任何动态内容。存储信息后,我得到的只是没有动态内容的html页面。

代码:

var res="";

var req = new XMLHttpRequest();

req.onload = function(){

res=this.responseText;
}   

req.open("GET","www.ebay.com", true);

req.send();

2 个答案:

答案 0 :(得分:1)

您只能在自己的域下获取远程内容。这是一个安全问题。你可以使用JSONP,但是对于ebay,我不知道是否有任何json内容可用。有关详细信息,请查看此内容:http://www.devproconnections.com/article/aspnet2/ajax-cross-domain-142169

如果您使用带有Chrome扩展程序或Firefox附加组件的Javascript,则必须在清单文件中设置权限才能访问所需的网站。

答案 1 :(得分:1)

由于same-origin policy而无法完成,因此您只能在原始域中请求内容。

以下链接可能对您有所帮助:
Getting CORS Working
Cross-domain Ajax with Cross-Origin Resource Sharing


编辑:
由于您希望从网站获取的内容由Ajax生成,因此无法获取动态内容。网站上的dynamic content是在浏览器加载html页面之后,因此可以触发Javascript事件以获取dynamic contentAjax。您可以获取html页面,但您没有获得Javascript文件。因此,无法获得动态内容。

抱歉我的英文不好