如何在不使用jquery的情况下查找网站中的所有链接

如何在不使用jquery的情况下查找网站中的所有链接,jquery,hyperlink,web,Jquery,Hyperlink,Web,我是jquery新手,请给我推荐一个简单易学的代码,用于查找外部网站中的所有链接,而无需实际使用jquery。我正在尝试的代码操作系统此URL=$$'a';用于url控制台中的url.logURL[url].href;但是,只有当我们在想要获取链接的页面上时,它才起作用。我也可以更喜欢php,但不要太复杂,或者更简单地说,我想说的是如何使用JQuery或超文本预处理器[php]创建网络蜘蛛,就像谷歌制作的那样 你不能不去拜访。至少您必须在服务器端使用CURL解析页面内容,并将其回显到客户端浏览器

我是jquery新手,请给我推荐一个简单易学的代码,用于查找外部网站中的所有链接,而无需实际使用jquery。我正在尝试的代码操作系统此URL=$$'a';用于url控制台中的url.logURL[url].href;但是,只有当我们在想要获取链接的页面上时,它才起作用。我也可以更喜欢php,但不要太复杂,或者更简单地说,我想说的是如何使用JQuery或超文本预处理器[php]创建网络蜘蛛,就像谷歌制作的那样

你不能不去拜访。至少您必须在服务器端使用CURL解析页面内容,并将其回显到客户端浏览器。 您可以使用phpQuery从html内容获取所有链接

1. https://code.google.com/p/phpquery/downloads/list - phpQuery-onefile and extract it to public directory. for example create a folder "parsers" in public and put it there.

2. create get-urls.php file and put it to parsers directory in public directory (near with phpquery)

    <?php

    require_once('phpQuery-onefile.php');

    $document = phpQuery::newDocumentFileHTML($_GET['url'], $charset = 'utf-8');

    $links = $document->find('a');
    $result = array();
    foreach ($links as $link) {
        $href = pq($link)->attr('href');
        $result[] = $href;
    }

    echo json_encode($result);

3. at clientside (on page where you want to get links) call your serverside script and pass your url and get answer

    <script>
    $(function(){
       $.get('http://yourserver.com/parsers/get-urls.php', {'url': 'some_url_here'}, function(response){
          response = $.parseJSON(response);
          for(var r in response) {
             var link = response[r];
             console.log(link);
          }
       });
    });
    </script>

你说的“不去那里”是什么意思?我想他想创建一个跨域请求。由于http头的原因,很多时候不可能找到链接的数量。第二,展示一些你正在谈论的代码、作品或参考资料,这意味着有一个代码URL=$$‘a’;用于url控制台中的url.logURL[url].href;它在开发人员控制台中打印所有链接,但问题是我们必须在该页面上,因为执行此代码时没有错误,这意味着如果我们不在需要所有链接并执行该代码的页面上,那么它将在开发人员控制台上出错。请澄清并提供一些代码以帮助我们理解。使用jQuery可能很困难。但是,您可以在服务器端执行此操作。下面是一个开源示例,可能会有所帮助:当我在开发人员控制台上执行代码时,它会出错。或者如果我必须在本地服务器上的php文件中执行代码,那么如何将javascript放入php。感谢您的帮助,但我认为我没有正确应用您的代码,因为我还不能理解它。回答不错,可能是最好的一个我会的。这是您的文档