用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();
}
}
}
}
}