java读取网页内容,并保存
2016-11-05 00:12
447 查看
利用java进行读取网页内容并保存。参数为url链接。
使用到的jar文件:commons-logging-1.2.jar
httpclient-4.5.1.jar
httpcore-4.4.3.jar
package com.crawler;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
/**
* 网络爬虫测试
*
* @author Administrator
* @2016年11月4日
*/
public class WebCrawler {
public static void main(String[] args) {
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpGet httpGet = new HttpGet("http://www.zysj.com.cn/lilunshuji/jichulilun/index.html");
httpGet.addHeader("Content-Type","application/x-www-form-urlencoded;charset=utf-8");
// 执行请求
HttpResponse response;
String line;
try {
response = httpClient.execute(httpGet);
HttpEntity httpEntity = response.getEntity();
BufferedReader bufferedReader = null;
bufferedReader = new BufferedReader(new InputStreamReader(
httpEntity.getContent(), "utf-8"), 8 * 1024);
StringBuilder entityStringBuilder = new StringBuilder();
while ((line = bufferedReader.readLine()) != null) {
entityStringBuilder.append(line + "\n");
}
// System.out.println(entityStringBuilder.toString());
// appendMethodB("f:/中医基础理论.html",entityStringBuilder.toString());
savaFile("f:/中医基础理论.html",entityStringBuilder.toString(),"UTF-8");
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 保存文件
* @param fileName 文件名称:绝对路径
* @param content 要保存的内容
* @param format 以某种格式保存文件
*/
public static void savaFile(String fileName, String content,String format) {
BufferedWriter rd=null;
OutputStream out=null;
File file = new File(fileName);
try {
out = new FileOutputStream(file);
rd = new BufferedWriter(new OutputStreamWriter(out,format));
rd.write(content);
} catch (IOException e) {
e.printStackTrace();
}finally{
if(null!=rd){
try {
rd.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(null!=out){
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
/**
*
* @param fileName
* @param content
*/
public static void appendMethodB(String fileName, String content) {
FileWriter writer=null;
try {
writer = new FileWriter(fileName, false);
// 打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件
writer.write(content);
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
if(null!=writer){
writer.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
相关文章推荐
- java用正则表达式分析读取网页内容(2)
- php读取word\pdf等文档的内容,并将其保存到网页中
- 使用java.nio及其子包中的类SocketChanel完成如下功能:读取www.baidu.com等网页的内容,打印到控制台,避免中文乱码问题。
- java下载读取网页内容方式
- Java中读取一个TXT文件中的每行内容的前5个字符,并保存到另一个TXT文件中。
- java下载网页并读取内容
- java 根据 url 读取网页内容 遇到403问题
- Java用正则表达式如何读取网页内容
- java下载html页面---把网页内容保存成本地html
- java读取网页内容
- Java读取网页内容并生成静态页面的简单实现
- java获取网页内容保存到文件
- [Java] Java序列化将一个对象的内容保存到文件和从文件读取对象
- 读取网页内容保存到文件
- java读取(正则表达式分析)网页内容
- java 使用URL来读取网页内容
- java用正则表达式分析读取网页内容
- java读取(正则表达式分析)网页内容
- Java Web乱码-->读取网页中的数据(如输入框中的内容)写到数据库中乱码
- Java用正则表达式如何读取网页内容