IP地址标识了Internet上唯一的计算机,而URL则标识了这些计算机上的资源。URL代表一个统一资源定位符,它是指向互联网“资源”的指针。资源可以是简单的文件或目录,也可以是对更为复杂的对象的引用,例如对数据库或搜索引擎的查询。
为了方便程序员编程,JDK中提供了URL 类,该类的全名是java.net.URL,有了这样一个类,就可以使用它的各种方法来对URL对象进行分割、合并等处理。
public class UrlTest {
public static void main(String[] args)throws Exception{
URL url = new URL("https://www.baidu.com/search.html?kw.java");
System.out.println("获取与此URL相关联协议的默认端口:"+url.getDefaultPort());
System.out.println("访问资源:"+url.getFile());
System.out.println("主机名:"+url.getHost());
System.out.println("访问资源路径:"+url.getPath());
System.out.println("协议:"+url.getProtocol());
System.out.println("参数部分:"+url.getQuery());
}
}
通过URL实现最简单的网络爬虫
public class UrlTest2 {
public static void main(String[] args)throw Exception{
Url url = new URL("https://www.baidu.com/");
try(BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()))){
StringBuilder sb = new StringBuilder();
String temp;
/*
* 这样就可以将网络内容下载到本地机器
* 然后进行数据分析,建立索引,这也是搜索引擎的第一步
*/
while((temp = br.readLine()) != null){
sb.append(temp);
}
System.out.println(sb);
}catch(Exception e){
e.printStackTrace();
}
}
}