java提取网站域名

本文涉及的产品
.cn 域名,1个 12个月
简介: java提取网站域名
package jklz;

import org.apache.commons.io.FileUtils;

import java.io.File;
import java.io.IOException;
import java.util.*;

/**
 * @Author: JavaPub
 * @License: https://github.com/Rodert/ https://gitee.com/rodert/
 * @Contact: https://javapub.blog.csdn.net/
 * @Date: 2022/5/25 16:41
 * @Version: 1.0
 * @Description:
 */

public class Q {
    public static void main(String[] args) throws IOException {
        Set<String> objects = new HashSet<>();
        long count = 0;
        List<String> urlList = FileUtils.readLines(new File("C:\\Users\\wangshiyu\\Desktop\\url.txt"), "utf8");
        for (String url : urlList) {
            try {
                int strStartIndex = url.indexOf("http");
                int strEndIndex = url.indexOf("/", strStartIndex + 9);
                String substring = url.substring(strStartIndex, strEndIndex).substring("http".length());
//                System.out.println("http" + substring);
                count++;
                objects.add("http" + substring);
            } catch (Exception e) {
//                System.out.println(url);
            }
        }
        System.out.println(count);
        System.out.println(objects.size());
        FileUtils.writeLines(new File("C:\\Users\\wangshiyu\\Desktop\\list.txt"), objects);
    }
}
package jklz;

import org.apache.commons.io.FileUtils;

import java.io.File;
import java.io.IOException;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @Author: JavaPub
 * @License: https://github.com/Rodert/ https://gitee.com/rodert/
 * @Contact: https://javapub.blog.csdn.net/
 * @Date: 2022/5/25 15:51
 * @Version: 1.0
 * @Description:
 */

public class DisHttpUrl {
    private static final String url = "http://europa.eu.int/eur-lex/lex/LexUriServ/site/en/oj/2005/l_069/l_06920050316en00590063.pdf";

    private static final String RE_TOP = "(\\w*\\.?){1}\\.(com.cn|net.cn|gov.cn|org\\.nz|org.cn|com|net|org|gov|cc|biz|info|cn|co)$";

    private static final String RE_TOP2 = "(?<=http://|\\.)[^.]*?\\.(ps|ba|gi|qa|sk|ar|is|rs|am|sy|ve|energy|pa|hu|vg|ky|gg|do|gl|in|ee|pl|gr|ie|no|de|uy|kz|pt|bg|zm|md|ro|vn|ly|cu|th|fi|dk|lv|by|at|edu|ae|nl|sd|fi|ua|se|mt|ch|lu|id|kr|it|es|mx|fr|mc|be|si|us|hk|ir|io|or.kr|gob.cu|ru|jp|eu|uk|ca|int|iq|eu.int|com.cn|net.cn|gov.cn|org\\.nz|org.cn|com|net|org|gov|cc|biz|info|cn|co)";
    private static final String RE_TOP2_https = "(?<=https://|\\.)[^.]*?\\.(ee|pl|gr|ie|no|de|uy|kz|pt|bg|zm|md|ro|vn|ly|cu|th|fi|dk|lv|by|at|edu|ae|nl|sd|fi|ua|se|mt|ch|lu|id|kr|it|es|mx|fr|mc|be|si|us|hk|ir|io|or.kr|gob.cu|ru|jp|eu|uk|ca|int|iq|eu.int|com.cn|net.cn|gov.cn|org\\.nz|org.cn|com|net|org|gov|cc|biz|info|cn|co)";

    public static void main(String[] args) throws IOException {
        Set<String> objects = new HashSet<>();
        Pattern p = Pattern.compile(RE_TOP2, Pattern.CASE_INSENSITIVE);
        Pattern p2 = Pattern.compile(RE_TOP2_https, Pattern.CASE_INSENSITIVE);
        List<String> urlList = FileUtils.readLines(new File("C:\\Users\\wangshiyu\\Desktop\\url.txt"), "utf8");
        long count = 0;
        for (String s : urlList) {
            if (s.contains("http")) {
                Matcher matcher = p.matcher(s);
                if (matcher.find()) {
                    String group = matcher.group();
                    objects.add("http://" + group);
//                    System.out.println(group);
//                    System.out.println("第:" + count++);
                } else {
                    Matcher matcher2 = p2.matcher(s);
                    if (matcher2.find()) {
                        String group = matcher2.group();
                        objects.add("https://" + group);
//                        System.out.println("https://" + group);
//                        System.out.println("第:" + count++);
                    } else {
                        System.out.println("##### " + s);
                    }
                }
            }
        }

    }
}

目录
相关文章
|
2月前
|
前端开发 JavaScript Java
计算机Java项目|基于Spring Boot的中小型医院网站的设计与实现
计算机Java项目|基于Spring Boot的中小型医院网站的设计与实现
|
2月前
|
前端开发 JavaScript Java
计算机Java项目|基于SpringBoot的飘香水果购物网站
计算机Java项目|基于SpringBoot的飘香水果购物网站
|
2月前
|
前端开发 JavaScript 搜索推荐
计算机Java项目|基于SpringBoot的旅游网站的设计与实现
计算机Java项目|基于SpringBoot的旅游网站的设计与实现
|
1月前
|
前端开发 Java 关系型数据库
Java中的电子商务网站开发实战
Java中的电子商务网站开发实战
|
1月前
|
SQL XML JavaScript
【若依Java】15分钟玩转若依二次开发,新手小白半小时实现前后端分离项目,springboot+vue3+Element Plus+vite实现Java项目和管理后台网站功能
摘要: 本文档详细介绍了如何使用若依框架快速搭建一个基于SpringBoot和Vue3的前后端分离的Java管理后台。教程涵盖了技术点、准备工作、启动项目、自动生成代码、数据库配置、菜单管理、代码下载和导入、自定义主题样式、代码生成、启动Vue3项目、修改代码、以及对代码进行自定义和扩展,例如单表和主子表的代码生成、树形表的实现、商品列表和分类列表的改造等。整个过程详细地指导了如何从下载项目到配置数据库,再到生成Java和Vue3代码,最后实现前后端的运行和功能定制。此外,还提供了关于软件安装、环境变量配置和代码自动生成的注意事项。
547 2
|
2月前
|
前端开发 安全 Java
Java服务器端开发实战:利用Servlet和JSP构建动态网站
【6月更文挑战第23天】**Servlet和JSP在Java Web开发中扮演关键角色。Servlet处理业务逻辑,管理会话,JSP则结合HTML生成动态页面。两者协同工作,形成动态网站的核心。通过Servlet的doGet()方法响应请求,JSP利用嵌入式Java代码创建动态内容。实战中,Servlet处理数据后转发给JSP展示,共同构建高效、稳定的网站。虽然新技术涌现,Servlet与JSP仍为Java Web开发的基石,提供灵活且成熟的解决方案。**
47 8
|
2月前
|
安全 前端开发 JavaScript
计算机java项目|健身俱乐部网站
计算机java项目|健身俱乐部网站
|
2月前
|
存储 弹性计算 Serverless
函数计算产品使用问题之使用的是自定义域名并且已备案,出现“无法访问此网站”,是什么原因
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
2月前
|
前端开发 JavaScript Java
计算机Java项目|Springboot电影评论网站系统设计与实现
计算机Java项目|Springboot电影评论网站系统设计与实现
|
2月前
|
前端开发 小程序 JavaScript
计算机Java项目|膳食营养健康网站
计算机Java项目|膳食营养健康网站