字符串中获取网站地址(网站匹配)源码
来源:互联网 发布:淘宝满减后再退货 编辑:程序博客网 时间:2024/05/20 07:37
import java.util.HashSet;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import edu.uci.ics.crawler4j.url.WebURL;
/**
* Created by Avi Hayun on 9/22/2014.
* Net related Utils
* crawler4j( https://github.com/yasserg/crawler4j)
*/
public class WebPage {
public static void main(String[] args) {
String url = "fsfsfs http:www.baidu.com" ;
Set<String> rs = WebPage.extractUrls(url) ;
System.out.println( rs );
}
private static final Pattern pattern = initializePattern();
public static Set<String> extractUrls(String input) {
Set<String> extractedUrls = new HashSet<String>();
if (input != null) {
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
String urlStr = matcher.group();
if (!urlStr.startsWith("http")) {
urlStr = "http://" + urlStr;
}
extractedUrls.add(urlStr);
}
}
return extractedUrls;
}
/** Singleton like one time call to initialize the Pattern */
private static Pattern initializePattern() {
return Pattern.compile("\\b(((ht|f)tp(s?)\\:\\/\\/|~\\/|\\/)|www.)" +
"(\\w+:\\w+@)?(([-\\w]+\\.)+(com|org|net|gov" +
"|mil|biz|info|mobi|name|aero|jobs|museum" +
"|travel|[a-z]{2}))(:[\\d]{1,5})?" +
"(((\\/([-\\w~!$+|.,=]|%[a-f\\d]{2})+)+|\\/)+|\\?|#)?" +
"((\\?([-\\w~!$+|.,*:]|%[a-f\\d{2}])+=?" +
"([-\\w~!$+|.,*:=]|%[a-f\\d]{2})*)" +
"(&(?:[-\\w~!$+|.,*:]|%[a-f\\d{2}])+=?" +
"([-\\w~!$+|.,*:=]|%[a-f\\d]{2})*)*)*" +
"(#([-\\w~!$+|.,*:=]|%[a-f\\d]{2})*)?\\b");
}
}
阅读全文
0 0
- 字符串中获取网站地址(网站匹配)源码
- 正则表达式:网站源码匹配图片地址
- 获取网站根目录地址(绝对路径地址)
- 获取网站的IP地址
- jsp获取某网站所有链接地址
- 获取登录网站者的IP地址
- 获取网站地址的一些信息
- 利用js获取网站地址中的参数
- C++获取网站的ip地址
- C++获取网站的ip地址
- python实现同服网站地址获取
- 转载 web网站获取客户端mac地址
- 获取访问网站客户ip地址
- C# 网站 获取客户端IP地址详细信息
- 网站地址
- 网站地址
- 网站地址
- 网站地址
- ini文件读取类
- Camera app 分析(三)拍照流程
- Android 中 弹出 Dialog 后监听 Back键 点击事件
- Maven的插件
- QT5.4 read access violation at: 0x0, flags=0x0 (first chance)
- 字符串中获取网站地址(网站匹配)源码
- 数据库中用户登录注册用户信息表怎么设计如何设计
- MySQL创建计算字段.md
- Android常用开源框架
- 深入理解HTTP协议
- 关于Mybatis关闭一级二级缓存
- 理论---Quartz
- 5、Kafka集群搭建
- 最简单的基于FFmpeg的封装格式处理:视音频复用器(muxer)