我希望能够操纵给定url的html。类似于html抓取。我知道这可以使用curl或一些抓取library.But来完成。我想知道是否可以使用jquery通过ajax向url发出get请求并检索url的html,然后在返回的html上运行jquery代码?
谢谢
发布于 2010-02-17 12:48:46
我想指出的是,在某些情况下,使用jQuery跨域抓取屏幕是完全可以接受的。Windows边栏小工具在允许跨域脚本的“本地计算机区域”中运行。
并且jQuery确实具有将选择器应用于检索到的html内容的能力。您只需将选择器添加到load()方法的url参数的空格后面即可。
下面的示例小工具代码每小时检查一次此页面,并报告页面总浏览量。
<html>
<head>
<script type="text/javascript" src="jquery.min.js"></script>
<style>
body {
height: 120px;
width: 130px;
background-color: white;
};
</style>
</head>
<body>
Question Viewed:
<div id="data"></div>
<script type="text/javascript">
var url = "http://stackoverflow.com/questions/1936495/website-scraping-using-jquery-and-ajax"
updateGadget();
inervalID = setInterval("updateGadget();", 60 * 1000);
function updateGadget(){
$(document).ready(function(){
$("#data").load(url + " .label-value:contains('times')");
});
}
</script>
</body>
</html>发布于 2009-12-21 02:18:26
由于Same Origin Policy的原因,您不能对您的网站所在的域名之外的其他域名执行Ajax请求;这意味着您将不能完全执行您想要的操作。至少是直接的。
一种解决方案是:
这可以用几乎任何语言在几行代码中完成(比如PHP,使用curl )……或者,您可以使用see服务器的某些功能(例如,请参阅Apache的和 )。
发布于 2012-10-29 16:16:38
这并没有那么难。
$(document).ready(function() {
baseUrl = "http://www.somedomain.com/";
$.ajax({
url: baseUrl,
type: "get",
dataType: "",
success: function(data) {
//do something with data
}
});
});我认为这可以给你一个很好的线索-- http://jsfiddle.net/skelly/m4QCt/
https://stackoverflow.com/questions/1936495
复制相似问题