Java---net(网络编程)---C/S和B/S

 C/S ( Client/Server ) 客户端和服务端的特点

    1、客户端和服务端的软件都需要程序员进行编写。
    2、客户端维护起来较为麻烦。
    3、客户端的存在可以将一部分运算分离到客户端来运行,减轻了服务器端的压力。

B/S ( Browse/Server ) 浏览器和服务端的特点

    1、客户端不用程序员编写,直接使用系统中具备的浏览器软件作为客户端即可。程序员只需要编写服务器端就OK了。
    2、维护起来也很容易,因为只要维护服务器即可。
    3、所有的运算都在服务器端,相对压力较大。

Java---net(网络编程)---C/S和B/S_第1张图片


最简单的网络爬虫

    其实就是 通过 URL 统一资源定位符,定位资源目的,然后遍历资源信息,把我们需要的资料提取出来。这里就演示提取我们学校官网的中 所有的邮箱。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 2018年5月12日 下午5:55:26
 * @author 宋进宇
 *	网络爬虫原理
 *	      演示 获取网络上的邮箱。
 */
public class NetSpiderDemo {
	//为了代码简洁 这里就直接抛异常了
	public static void main(String[] args) throws IOException {
		//获取统一资源定位
		//这里 就 爬我们学校官网的 邮箱
		URL url = new URL( "http://www.hncu.net" );
		//获得输入流
		BufferedReader br = new BufferedReader( 
								new InputStreamReader( url.openStream() ) );
		//定义一个正则表达式,爬邮箱---使用最简单的邮箱规则
		Pattern p = Pattern.compile( "\\w+@\\w+(\\.\\w+)+" );
		String str = br.readLine();
		while ( str != null ) {
			//进行匹配
			Matcher matcher = p.matcher( str );
			//如果有找到就把邮箱打印在控制台
			while ( matcher.find() ){
				System.out.println( matcher.group() );
			}
			str = br.readLine();
		}
		br.close();
	}
}

你可能感兴趣的:(2.Java,------①知识点,Java)