首页 > 编程语言 >初识java爬虫

初识java爬虫

时间:2022-11-01 11:32:38浏览次数:35  
标签:java 爬虫 初识 br reader close new line conn



早上闲来无事,先总结一下昨天学到的最基本的的爬虫。首先说爬虫,其实就是向要爬取的网站发送一个http请求,取得反馈数据,然后解析数据,获得我们想要的数据。简单来说需要两步:首先抓取,即打开http链接,读数据,其实就是个网页。第二步,解析。

代码部分:首先new一个URL对象,并传入要爬取的网址,即URL url = new URL(网址);然后初始化一个链接到那个url的链接。这里需要用到URLConnection抽象类,在这展示一下网上查到的URLConnection请求响应流程:



初识java爬虫_字符流





跟着这张图,接下来代码就是


HttpURLConnection conn = (HttpURLConnection)url.openConnection();


conn.setDoInput(true);


conn.setRequestMethod("GED");


在这我设置了一个User-Agent来欺骗服务器


conn.setRequestProPerty("User-Agent","Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");


接着获取输入流


InputStream in = new InputStream();


然后将字节流转换为字符流,并且为字符流加上缓冲


InputStreamReader reader = new InputStreamReader(in,"utf-8");


BufferedReader br = new BufferedReader(reader);


然后返回读取结果,并将抓取到的每一行储存到data里面

String line,data;



while((line = br.readLine()) != null){



data += line;



}


然后就是记得关流。

br.close();



reader.close();



input.close();



conn.disconnect();




上面只是总结一下,具体代码如下:




public static String sendGet(String str) {
String data = null;
File dataFile = new File("D:\\dataFile.txt");
try {
URL url = new URL(str);
//初始化一个链接到那个url的连接
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoInput(true);
conn.setRequestMethod("GET");
//设置User-Agent来欺骗服务器
conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
//获取输入流
InputStream input = conn.getInputStream();
//将字节输入流转换为字符输入流
InputStreamReader reader = new InputStreamReader(input,"utf-8");
//为字符流添加缓冲
BufferedReader br = new BufferedReader(reader);
//读取返回结果
String line;
while ((line = br.readLine()) != null) {
// 遍历抓取到的每一行并将其存储到result里面
data +="\n"+ line;


}
br.close();
reader.close();
input.close();
conn.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
return data;


}


里面应该还有很多问题,欢迎各位大佬提出意见~


标签:java,爬虫,初识,br,reader,close,new,line,conn
From: https://blog.51cto.com/u_13351110/5812937

相关文章