• Java爬虫原理分析


    当我们需要从网络上获取资源的时候,我们一般的做法就是通过浏览器打开某个网站,然后将我们需要的东西下载或者保存下来。

    但是,当我们需要大量下载的时候,这个时候通过人工一个个的去点击下载,就显得太没有效率了。这个时候我们就可以通过程序来实现批量的获取资源的方式,我们称之为爬虫。也就是从网络上的站点爬取资源的意思。

    那么在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();
            }
        }
    }
    View Code

    然后从抓去的页面中获取我们想要的内容。

    当然,现在已经有很多很好的开源框架可以用来实现爬虫。

  • 相关阅读:
    js 操作cookie
    Java——简单实现学生管理系统
    虚方法--重载
    读取Devexpress内部的图标
    ToolTipController 事件触发显示时 避免闪烁的处理方法
    windowsAPI遍历文件夹(速度高于递归)
    XAF去掉View页面的编辑器
    禁用弹出提示框
    设置程序集(dll)引用路径,整洁美观
    WPF移动Window窗体(鼠标点击左键移动窗体自定义行为)
  • 原文地址:https://www.cnblogs.com/zerotomax/p/7225372.html
Copyright © 2020-2023  润新知