如何从外部网站获得href?

时间:2013-08-10 23:52:35

标签: jquery html get href

我正在尝试从我不是管理员的外部网站获取href元素。

href的代码如下:

<a href="?form=397&amp&id=45950&amp&act=act">Action</a>

我只想获得:'?form=397&amp&id=45950&amp&act=act'.

我该怎么做?也许使用JQuery?

2 个答案:

答案 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&amp&id=45950&amp&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 给你的方法也很不错。