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月前
|
存储 监控 安全
|
2月前
|
存储 缓存 搜索推荐
|
2月前
|
数据采集 XML 前端开发
Jsoup在Java中:解析京东网站数据
Jsoup在Java中:解析京东网站数据
|
2月前
|
弹性计算 网络协议 安全
如何使用阿里云虚拟主机和域名设置网站?
如何使用阿里云虚拟主机和域名设置网站?
|
2月前
|
Java Docker 容器
java版本学习网站又添加了一个libgdx模块
java版本学习网站之前添加了docker,想了想还是再把libgdx添加进去吧。
32 3
|
2月前
|
网络协议 搜索推荐 应用服务中间件
网站开通后如何修改域名
网站开通后如何修改域名
WK
|
1月前
|
安全 Java 编译器
C++和Java哪个更适合开发web网站
在Web开发领域,C++和Java各具优势。C++以其高性能、低级控制和跨平台性著称,适用于需要高吞吐量和低延迟的场景,如实时交易系统和在线游戏服务器。Java则凭借其跨平台性、丰富的生态系统和强大的安全性,广泛应用于企业级Web开发,如企业管理系统和电子商务平台。选择时需根据项目需求和技术储备综合考虑。
WK
70 0
|
2月前
|
域名解析 网络协议 索引
分享|【红猫网】备案域名的二级分发:实现网站可迁移、流量分流、备份归档
本文介绍了如何利用备案域名的二级分发技术实现网站迁移、流量分流和备份归档。通过为主域名下的子域名设置独立解析记录,实现资源的灵活分配与管理,确保网站服务的稳定性和高效性。同时,文章还解答了关于备案、SEO优化及HTTPS支持的相关问题。
47 0
|
2月前
|
域名解析 缓存 网络协议
Windows系统云服务器自定义域名解析导致网站无法访问怎么解决?
Windows系统云服务器自定义域名解析导致网站无法访问怎么解决?
|
2月前
|
安全 Java Python
基于python-django的Java网站全站漏洞检测系统
基于python-django的Java网站全站漏洞检测系统
35 0