全屏

12.3.3 URL类


【专业IT培训机构,真正零首付入学www.bjsxt.com


      IP地址唯一标识了Internet上的计算机,而URL则标识了这些计算机上的资源。类 URL 代表一个统一资源定位符,它是指向互联网“资源”的指针。资源可以是简单的文件或目录,也可以是对更为复杂的对象的引用,例如对数据库或搜索引擎的查询。

      为了方便程序员编程,JDK中提供了URL类,该类的全名是java.net.URL,有了这样一个类,就可以使用它的各种方法来对URL对象进行分割、合并等处理。

【示例12-5】URL类的使用

import java.net.MalformedURLException;
import java.net.URL;
public class Test5 {
	public static void main(String[] args) throws MalformedURLException {
		URL u = new URL("http://www.google.cn:80/webhp#aa?canhu=33");
		System.out.println("获取与此url关联的协议的默认端口:" + u.getDefaultPort());
		System.out.println("getFile:" + u.getFile()); // 端口号后面的内容
		System.out.println("主机名:" + u.getHost()); // www.google.cn
		System.out.println("路径:" + u.getPath()); // 端口号后,参数前的内容
        // 如果www.google.cn:80则返回80.否则返回-1
        System.out.println("端口:" + u.getPort()); 
		System.out.println("协议:" + u.getProtocol());
		System.out.println("参数部分:" + u.getQuery());
		System.out.println("锚点:" + u.getRef());

		URL u1 = new URL("http://www.abc.com/aa/");
		URL u2 = new URL(u, "2.html"); // 相对路径构建url对象
		System.out.println(u2.toString()); // http://www.abc.com/aa/2.html
	}
}

【示例12-6】最简单的网络爬虫

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;

public class Test6 {
	public static void main(String[] args) {
		basicSpider();
	}
	//网络爬虫
	static void basicSpider() {
		URL url = null;
		InputStream is = null;
		BufferedReader br = null;
		StringBuilder sb = new StringBuilder();
		String temp = "";
		try {
			url = new URL("http://www.baidu.com");
			is = url.openStream();
			br = new BufferedReader(new InputStreamReader(is));
			/* 
			 * 这样就可以将网络内容下载到本地机器。
			 * 然后进行数据分析,建立索引。这也是搜索引擎的第一步。
			 */
			while ((temp = br.readLine()) != null) {
				sb.append(temp);
			}
			System.out.println(sb);
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				br.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
			try {
				is.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
}
分类导航
点击按住视频可拖动

缩小

关闭

  • 正在学习
  • 北京总部地址:北京市海淀区西三旗街道建材城西路中腾建华商务大厦东侧二层尚学堂
  • 咨询电话:400-009-1906 010-56233821
  • Copyright 2007-2015 北京尚学堂科技有限公司
  • 京ICP备13018289号-1 京公网安备11010802015183