当我们需要从网络上获取资源的时候,我们一般的做法就是通过浏览器打开某个网站,然后将我们需要的东西下载或者保存下来。
但是,当我们需要大量下载的时候,这个时候通过人工一个个的去点击下载,就显得太没有效率了。这个时候我们就可以通过程序来实现批量的获取资源的方式,我们称之为爬虫。也就是从网络上的站点爬取资源的意思。
那么在java中要实现网络爬虫,就必须要使用到java中的java.net包中的一些类。
举例:
package com.fuwh; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; public class Crawler01 { public static void main(String[] args) { String urlStr="http://www.cnblogs.com/zerotomax/"; try { URL url=new URL(urlStr); HttpURLConnection conn= (HttpURLConnection) url.openConnection(); conn.connect(); InputStream in=conn.getInputStream(); BufferedReader read=new BufferedReader(new InputStreamReader(in)); StringBuffer sb=new StringBuffer(); String s=read.readLine(); while( s!=null) { sb.append(s+" "); s=read.readLine(); } System.out.println(sb.toString()); in.close(); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
然后从抓去的页面中获取我们想要的内容。
当然,现在已经有很多很好的开源框架可以用来实现爬虫。