用Java实现网络爬虫

2021-06-07  本文已影响0人  苦难_69e0

简要介绍

这个小例子中,也是简单的爬取网络源代码,如果需要爬取具体内容,还是需要具体问题,具体分析

需求分析

明确你要爬取内容的地址
你的程序要和你要爬取的内容地址之间创建一个链接
获取内容地址上的内容

项目结构

image.png

源码

import java.io.*;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;


public class PaChong {
    public static void main(String[] args) {
        //爬取内容地址
        URL url = null;
        //创建连接
        URLConnection conn = null;
        //字节输入流
        InputStream is = null;
        //字节转换为字符流
        InputStreamReader isr = null;
        //缓冲流
        BufferedReader br = null;

        //爬取内容存储的容器
        String str = null;
        //明确你要爬取内容的地址
        try {
            //java中的异常处理机制 Java中的异常是有责任制的 不是所有的异常都往外抛
            url = new URL("url地址");
            //创建连接
            conn = url.openConnection();

            //使用IO流
            //字节流 每次只能读取一个字节的内容,可以保证内容的完整性,但是效率很低
            is = conn.getInputStream();
            //将字节流升级为字符流,每次可以读取一个字符的内容
            isr = new InputStreamReader(is);
            //将字符流转为字符缓冲流,使用缓冲流的时候要特别注意,最后一次用完了要关闭才能将里面的内容全部读到
            //否则你就要使用自动刷新
            br = new BufferedReader(isr);


            //读取一行内容
            while((str = br.readLine()) != null){
                System.out.println(str);
            }

            br.flush();

        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (br != null){
                //关闭流
                try {
                    br.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

上一篇下一篇

猜你喜欢

热点阅读