Java实现网页抓取并保存HTML到文件

4星 · 超过85%的资源 需积分: 14 98 下载量 8 浏览量 更新于2024-10-09 收藏 221KB DOC 举报
"该文档提供了一个简单的Java程序,用于网页数据的抓取和解析。程序通过手动输入URL,从指定的网页抓取HTML内容,并将其保存到本地的文本文件中。" 这个Java程序的核心功能是网页抓取,它使用了`java.net.URL`类来创建一个URL对象,通过`openStream()`方法获取网页的HTTP流。然后,程序使用`BufferedReader`和`InputStreamReader`来读取流中的内容,逐行读取并存储到`StringBuilder`对象中。这样,HTML内容就被加载到了内存中。最后,内容被写入到指定的本地文件(在这个例子中是`D:/outPut.txt`)。 程序的主要步骤如下: 1. 创建`URL`对象:`URL url = new URL("http://10.249.187.199:8083/injs100/");` 这一步定义了要抓取的网页地址。 2. 打开连接并获取输入流:`InputStream instr = ur.openStream();` `openStream()`方法用于建立到服务器的连接并获取HTTP响应的输入流。 3. 读取输入流:使用`BufferedReader`和`InputStreamReader`读取流中的内容。 `BufferedReader in = new BufferedReader(new InputStreamReader(instr));` `String s; while ((s = in.readLine()) != null) { sb.append(s + CRLF); }` 这部分代码逐行读取输入流,并将每一行内容追加到`StringBuilder`中,每行之间用系统默认的行分隔符(CRLF)隔开。 4. 将HTML内容写入文件:`BufferedWriter out = new BufferedWriter(new FileWriter("D:/outPut.txt"));` `out.write(str);` `out.close();` 读取完整个HTML内容后,将其写入到指定的文件中,并关闭输出流。 5. 异常处理:程序包含了对`MalformedURLException`和`IOException`的捕获,以便在发生错误时打印堆栈跟踪信息。 这个简单的网页抓取程序虽然可以工作,但它没有包含HTML解析的部分,如提取特定标签或数据。如果需要解析HTML以获取特定信息,可以考虑使用像Jsoup这样的库,它提供了更强大的DOM解析和CSS选择器功能。此外,程序目前只能手动输入URL,为了提高自动化程度,可以考虑使用命令行参数或者读取配置文件来动态设置URL。