用java获取网站的链接

用java获取网站的链接,java,Java,我想看到一个网站的所有链接。让我们假设网站是 我该怎么做 URL url = new URL("http://www.ub.edu/web/ub/en/"); URLConnection con = url.openConnection(); BufferedReader br = new BufferedReader( new InputStreamReader(

我想看到一个网站的所有链接。让我们假设网站是

我该怎么做

 URL url = new URL("http://www.ub.edu/web/ub/en/"); 
    URLConnection con = url.openConnection(); 
    BufferedReader br = new BufferedReader( 
                            new InputStreamReader( 
                            con.getInputStream())); 
您可以使用解析html。它很容易使用。这里所有的链接都将添加到列表中

String url = "http://www.ub.edu/web/ub/en/";
Document doc = Jsoup.connect(url).get();
Elements links = doc.select("a[href]");

List<String> listOfLinks = new ArrayList<>();
for (Element link : links){
    listOfLinks.add(link.attr("abs:href"));
}

System.out.println(listOfLinks);
stringurl=”http://www.ub.edu/web/ub/en/";
Document doc=Jsoup.connect(url.get();
Elements links=doc.select(“a[href]”);
List listOfLinks=new ArrayList();
用于(元素链接:链接){
添加(link.attr(“abs:href”);
}
System.out.println(listOfLinks);
此外,还有很多问题与这个问题相关。所以,继续搜索。

您可以使用它来解析html。它很容易使用。这里所有的链接都将添加到列表中

String url = "http://www.ub.edu/web/ub/en/";
Document doc = Jsoup.connect(url).get();
Elements links = doc.select("a[href]");

List<String> listOfLinks = new ArrayList<>();
for (Element link : links){
    listOfLinks.add(link.attr("abs:href"));
}

System.out.println(listOfLinks);
stringurl=”http://www.ub.edu/web/ub/en/";
Document doc=Jsoup.connect(url.get();
Elements links=doc.select(“a[href]”);
List listOfLinks=new ArrayList();
用于(元素链接:链接){
添加(link.attr(“abs:href”);
}
System.out.println(listOfLinks);

此外,还有很多问题与这个问题相关。所以,继续搜索。

这也可以通过添加几行代码来完成,而无需引入实用程序库

        URL url = new URL("http://www.ub.edu/web/ub/en/");
        URLConnection con = url.openConnection();
        BufferedReader br = new BufferedReader(new InputStreamReader(
                con.getInputStream()));

        Pattern anchorPattern = Pattern.compile(
                "<a[^>]+href\\s*=\\s*([\"'])((?:(?!\\1).)*)\\1",
                Pattern.CASE_INSENSITIVE);
        String line = br.readLine();
        while (line != null) {
            Matcher m = anchorPattern.matcher(line);
            while (m.find())
                System.out.println(m.group(2));
            line = br.readLine();
        }
URL=新URL(“http://www.ub.edu/web/ub/en/");
URLConnection con=url.openConnection();
BufferedReader br=新的BufferedReader(新的InputStreamReader(
con.getInputStream());
Pattern anchorPattern=Pattern.compile(
“]+href\\s*=\\s*([\“'])((?:(?!\\1)。)*)\\1”,
模式(不区分大小写);
String line=br.readLine();
while(行!=null){
匹配器m=锚模式匹配器(线);
while(m.find())
系统输出println(m.group(2));
line=br.readLine();
}

这也可以通过添加几行代码来实现,而无需引入实用程序库

        URL url = new URL("http://www.ub.edu/web/ub/en/");
        URLConnection con = url.openConnection();
        BufferedReader br = new BufferedReader(new InputStreamReader(
                con.getInputStream()));

        Pattern anchorPattern = Pattern.compile(
                "<a[^>]+href\\s*=\\s*([\"'])((?:(?!\\1).)*)\\1",
                Pattern.CASE_INSENSITIVE);
        String line = br.readLine();
        while (line != null) {
            Matcher m = anchorPattern.matcher(line);
            while (m.find())
                System.out.println(m.group(2));
            line = br.readLine();
        }
URL=新URL(“http://www.ub.edu/web/ub/en/");
URLConnection con=url.openConnection();
BufferedReader br=新的BufferedReader(新的InputStreamReader(
con.getInputStream());
Pattern anchorPattern=Pattern.compile(
“]+href\\s*=\\s*([\“'])((?:(?!\\1)。)*)\\1”,
模式(不区分大小写);
String line=br.readLine();
while(行!=null){
匹配器m=锚模式匹配器(线);
while(m.find())
系统输出println(m.group(2));
line=br.readLine();
}

是否还要查看所有子页面的链接?像一个爬虫?不,这个页面的链接对我来说已经足够了:)你还想看到所有子页面的链接吗?像一个爬虫吗?不,这个页面的链接对我来说已经足够了:)我对你的例子做了一些编辑以使它更清晰(希望你不介意)。这里不需要处理每个异常。您可以让方法重新播放它。让OP决定如何处理它们。我对您的示例进行了一些编辑,以使其更清楚(希望您不介意)。这里不需要处理每个异常。您可以让方法重新播放它。让OP决定如何处理它们。