我正在尝试从我不是管理员的外部网站获取href
元素。
此href
的代码如下:
<a href="?form=397&&id=45950&&act=act">Action</a>
我只想获得:'?form=397&&id=45950&&act=act'.
我该怎么做?也许使用JQuery?
答案 0 :(得分:2)
由于跨域浏览器限制,您将遇到问题。如果你想使用JS,你可以使用一个ajax插件:
https://github.com/padolsey/jQuery-Plugins/blob/master/cross-domain-ajax/jquery.xdomainajax.js
然后使用:
$.ajax({
url: 'http://www.somewebsite.com',
type: 'GET',
success: function(res) {
// your code here
}
});
答案 1 :(得分:0)
好吧,既然您编辑了答案,说:
我该怎么做?例如。使用JQuery。 只是例如。
由于使用jquery只是例如,这里是一个非jquery解决方案:
$ curl 'http://pastebin.com/raw.php?i=hDPyZ2Ne' |sed -n 's/.*href="\([^"]*\).*/\1/p'
(替换您网站网址的网址)
该行将在* nix终端上执行。那将输出
?form=397&&id=45950&&act=act
现在,使用jquery 完全 不可能吗?你的意思是,是的,但是如果你使用phantomjs,你可以在页面DOM上执行你自己的js。
这是一个使用jquery执行的phantomjs脚本:
var page = require('webpage').create();
var url = 'http://...put your url here';
page.open(url, function() {
page.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js", function() {
var href = page.evaluate(function() {
return $('a').attr('href');
});
console.log(href);
phantom.exit();
});
});
编辑: Front End Guy 给你的方法也很不错。