java爬虫内容保存到记事本上
时间: 2024-10-08 18:18:05 浏览: 10
在Java中编写爬虫程序并将抓取的内容保存到记事本(通常称为txt文件)上,你可以按照以下步骤操作:
1. **导入必要的库**:首先,你需要`java.io`包来处理文件输入输出,以及`java.net`包用于网络请求。
```java
import java.io.FileWriter;
import java.io.IOException;
```
2. **创建连接并获取网页内容**:使用`HttpURLConnection`或更现代的`java.net.http.HttpClient`获取网页源码。
```java
URL url = new URL("http://example.com");
BufferedReader reader = null;
try {
reader = new BufferedReader(new InputStreamReader(url.openStream()));
} catch (IOException e) {
e.printStackTrace();
}
String line;
StringBuilder contentBuilder = new StringBuilder();
while ((line = reader.readLine()) != null) {
contentBuilder.append(line);
}
reader.close();
```
3. **写入记事本文件**:将获取到的内容作为字符串写入到记事本文件中。这里假设文件名为"output.txt"。
```java
FileWriter writer;
try {
writer = new FileWriter("output.txt", true); // 'true' for append mode
writer.write(contentBuilder.toString());
writer.flush();
System.out.println("Content saved to output.txt.");
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (writer != null) {
writer.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
```
4. **异常处理**:确保对可能出现的异常进行适当的处理,比如网络连接错误、文件I/O错误等。
完整的例子:
```java
public static void main(String[] args) {
try {
saveToNotepad("http://example.com");
} catch (IOException e) {
e.printStackTrace();
}
}
private static void saveToNotepad(String url) throws IOException {
URL urlObject = new URL(url);
String content = getContent(urlObject);
writeToFile(content, "output.txt");
}
private static String getContent(URL url) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
StringBuilder content = new StringBuilder();
String inputLine;
while ((inputLine = in.readLine()) != null) {
content.append(inputLine);
}
in.close();
return content.toString();
}
private static void writeToFile(String content, String fileName) throws IOException {
FileWriter fileWriter = new FileWriter(fileName, true);
fileWriter.write(content);
fileWriter.close();
}
```