`
gcgmh
  • 浏览: 354988 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

url判断方法

阅读更多
方法一:
/**
	 * 检查从页面上提取出的url是不是一个正确的url // *
	 * 
	 * @param parentURL
	 * @param link
	 * @return
	 */
	private boolean checkLink(URL parentURL, String link) {
		boolean linkFlag = true;
		link = link.toLowerCase();
		if (link.length() < 5) {
			linkFlag = false;
		} else {
			String newUrlStr = null;
			try {
				URL newUrl = new URL(parentURL, link);
				newUrlStr = newUrl.toString();
				if (newUrlStr.indexOf("+") > -1 || newUrlStr.length() < 10
						|| newUrlStr.indexOf("\"") > -1
						|| newUrlStr.indexOf("#") > -1
						|| newUrlStr.indexOf("javascript") > -1
						|| newUrlStr.indexOf("'") > -1
						|| !newUrlStr.startsWith("http://")
						|| newUrlStr.substring(6).indexOf("http://") > -1
						|| newUrlStr.length() > 255

				) {
					return false;
				}

			} catch (MalformedURLException e) {
				System.err.println(parentURL.toString() + "--->" + link);
				linkFlag = false;
			}
		}

		return linkFlag;

	}


方法二:
	/**
	 * 判断一个从页面上提取出的link,看是否符合爬取条件,若是符合,返回这个link
	 * 
	 * @param parentURL
	 * @param link
	 * @return
	 */
	private String getNewLink(URL parentURL, String link) {
		String newUrlStr = null;
		String returnStr = null;
		URL newUrl = null;
		if (null != link && !"".equals(link.trim())) {
			if (link.indexOf("\\") > -1) {
				link = link.toLowerCase().replace("\\", "/");
			}
			if (link.indexOf("javascript") < 0 && link.indexOf("mailto:") < 0
					&& link.indexOf("+") < 0) {
				if (null != parentURL) {
					try {
						newUrl = new URL(parentURL, link);
						if ("http".equals(newUrl.getProtocol())) {
							if ("".equals(newUrl.getPath())) {
								newUrlStr = newUrl.toString() + "/";
							} else {
								newUrlStr = newUrl.toString();
							}
							if (newUrlStr.indexOf("\"") < 0
									&& newUrlStr.indexOf("'") < 0
									&& newUrlStr.indexOf("<") < 0
									&& newUrlStr.indexOf(">") < 0
									&& newUrlStr.substring(6).indexOf("http://") < 0
									&& newUrlStr.length() < 255
									){
								if (newUrlStr.indexOf("#") > 0) {
									returnStr = newUrlStr.substring(0,
											newUrlStr.indexOf("#"));
								} else {
									returnStr = newUrlStr;
								}
							} // if newUrlStr over
						}// http over
					} catch (MalformedURLException e) {
						System.err.println("url error 。。。");
					} // try
				} // if null parentUrl over
			}// if link over
		}// if null link over

		return returnStr;
	}
分享到:
评论

相关推荐

    基于机器学习的恶意URL识别.pdf

    本文将讨论基于机器学习的恶意URL识别方法,旨在解决传统的黑名单方法中存在的问题,如查全率低、时效性差等。我们将详细介绍机器学习在恶意URL识别中的应用,包括集成学习模型、随机森林算法等,并对其优缺点进行...

    c#自动判断URL编码方法

    自动判断URL编码的方法。URL中包含编码的中文的时候,程序获取queryString需要根据url的不同编码,采用不同的解码方式,RequestQueryString方法能够自动识别url是用UTF-8编码还是GB2312编码,从而自动获取争取的值。...

    JAVA验证URL是否有效连接的方法

    该方法的核心是利用Java内置的`HttpURLConnection`类来尝试建立与指定URL的连接,并根据响应状态码判断连接是否成功。下面将对代码中的关键部分进行深入解析。 #### 代码分析 1. **方法定义**: ```java private...

    判断url链接是否有效

    以下是一些关于如何在Java中判断URL链接是否有效的详细方法: 首先,我们可以使用`java.net.URL`和`java.net.HttpURLConnection`类来实现这个功能。下面是一个简单的示例: ```java import java.net.*; public ...

    C#自动识别URL编码,asp.net自动识别URL编码

    本文将深入探讨“C#自动识别URL编码”的主题,帮助开发者解决URL编码带来的乱码问题。 URL编码,也称为百分号编码(Percent-encoding),是统一资源定位符(Uniform Resource Locator, URL)的一部分,用于在非...

    URL的又有效性判断

    在提供的代码片段中,我们可以看到一种简单的URL有效性判断方法,即通过尝试创建一个`URL`对象并打开其对应的输入流来判断该URL是否可达。这种方法的基本思想是:如果能够成功创建`InputStream`,则说明该URL是有效...

    发帖时默认禁用url识别 for discuz7.rar

    《发帖时默认禁用URL识别 for Discuz7》 在Discuz! 7这款流行的社区论坛软件中,用户在发布帖子时,系统通常会自动识别并处理帖子里的URL链接,这有时可能会带来不必要的安全风险或者不符合管理员的管理策略。针对...

    iOS和JS的交互之在代理方法拦截Url,识别判断

    本文将深入探讨如何在代理方法中拦截URL,以实现iOS和JS之间的有效通信。首先,我们需要理解iOS中的WKWebView组件,它是苹果提供的用于加载和呈现Web内容的工具,它支持与JavaScript的深度集成。 ### WKWebView简介...

    发帖时默认禁用url识别插件 for Discuz!7.0.rar

    这个压缩包"发帖时默认禁用url识别插件 for Discuz!7.0.rar"是专门为Discuz!7.0版本设计的一个插件,其目的是在用户发布帖子时自动禁用URL识别功能。这在某些情况下可能是必要的,比如为了防止垃圾链接的传播或者...

    Java使用默认浏览器打开指定URL的方法(二种方法)

    方法二: 代码如下://判断当前系统是否支持Java AWT Desktop扩展 if(java.awt.Desktop.isDesktopSupported()){ try{ //创建一个URI实例,注意不是URL java.net.URI uri=java.net.URI.create(“//www.j

    Js检测判断URL网址输入是否正确

    如果`match`方法返回的是null,说明没有匹配到任何内容,意味着用户输入的URL不符合预设的正则表达式规则,因此会弹出提示“你输入的URL无效”。如果`match`方法能够匹配到,则意味着输入的URL符合规则,会弹出提示...

    基于深度学习的恶意URL识别.pdf

    在实际测试中,使用真实的恶意URL数据集,该方法取得了高达97.3%的精确度和91.8%的F1分数,证明了深度学习在恶意URL检测领域的有效性和实用性。 此外,卷积神经网络在处理图像时会自动进行特征提取,这大大减少了对...

    nodejs实现获取当前url地址及url各种参数值

    其对应的API文档详细描述了各种方法和属性的使用说明,这对于开发者深入理解和利用Node.js中的URL模块来处理网络请求提供了便利。 最后,文档内容中指出,存在文字识别错误或漏识别的情况,所以在理解时可能需要...

    易语言URL编解码

    2. 转义字符:易语言需要识别哪些字符需要转义,并用特定的方式(通常是百分号加两位十六进制数)来表示这些字符。 3. 编码函数:编写或找到易语言的URLEncode函数,它接收一个字符串作为输入,然后返回编码后的URL...

    安卓textView相关-自动识别url的TextView.rar

    这个压缩包文件"安卓textView相关-自动识别url的TextView.rar"显然包含了一些关于如何使`TextView`能够自动识别并链接URL的示例代码或库。下面我们将深入探讨这个主题。 在默认情况下,`TextView`不会自动将文本中...

    URl Scheme的使用以及回调

    1. **配置URL Scheme**:在TestA应用的Info.plist文件中添加URL Types键值对,设定识别码(Identifier)和URL Schemes(如"testA")。 2. **处理URL请求**:在TestA的AppDelegate.swift(或对应的AppDelegate.m在...

    Android apk下载文件的url链接,并且可以判断网络是否连接

    本文将深入探讨如何实现"Android APK下载文件的URL链接"以及如何判断网络状态。 首先,我们需要了解`Handler`机制。`Handler`在Android中用于线程间通信,它允许我们在主线程中更新UI。在下载APK的过程中,我们通常...

    C# WinForm 实现的下载方法 获取页面URL地址

    if (IsDownloadLink(href)) // 自定义方法判断是否为下载链接 { DownloadFile(href); } } ``` `DownloadFile`方法可以再次利用`WebClient`或`HttpClient`来实现实际的文件下载: ```csharp private static ...

Global site tag (gtag.js) - Google Analytics