如何从网站中提取链接?

时间:2016-04-21 05:46:44

标签: javascript html web-crawler html-parsing

我想在我的调查中提取印度所有政府网站的列表。

列表可在此处找到: http://goidirectory.nic.in/index.php

这里的问题是列表不是链接形式。每当我需要打开一个网站时,它会打开一个新标签,然后从那里重定向到所请求的网站。

因此,google klipper和其他从网站中提取链接的工具无效。

我对javascript一无所知。

我注意到的一件事是,当我将鼠标指针指向链接时,它会显示网站链接的名称,如下所示:

Mouse pointer

就像例如http://presidentofindia.gov.in一样突出。

我需要此类网站列表链接

由于

1 个答案:

答案 0 :(得分:1)

嗨请检查https://jsfiddle.net/9b0wL9tn/

<强>的jQuery

$(document).ready(function(){
    $('a').each(function(){
  console.log($(this).attr('href'));
});
});

注意:在chrome&gt;&gt;中打开网站右键单击&gt;&gt;检查&gt;&gt;转到控制台选项卡并粘贴以下内容并按Enter键

首先在控制台上运行此代码:

var jq = document.createElement('script');
jq.src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);
// ... give time for script to load, then type.
jQuery.noConflict();

然后运行

$('a').each(function(){
      console.log($(this).attr('href'));
});

这将列出页面上的所有链接,只需从控制台

复制它

更新

按照上述步骤后更新了脚本...在控制台中运行以下脚本:

var arr=new Array();
jQuery('a').each(function(i){


arr[i]=jQuery(this).attr('title')+"";


});

jQuery.each(arr,function(i){
if(arr[i].indexOf('http')>-1)
console.log(arr[i].substr(0, arr[i].indexOf('-')));
});

这是屏幕截图:http://www.imageno.com/lj7tuyr9pt2opic.html