一个简易的URL爬虫程序(java)

该程序是一个简单的Java程序,用于从指定的URL中获取网页内容并保存到本地文件。通过URL类打开指定的URL链接,并使用openStream()方法获取输入流。然后使用Scanner类读取输入流中的内容,并使用PrintWriter类将读取到的内容写入到本地文件中。

在该程序中,程序打开了腾讯新闻(https://news.qq.com/),并将网页内容保存为qq.html文件。

java 复制代码
import java.io.BufferedInputStream;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.PrintWriter;
import java.net.URL;
import java.util.Scanner;

public class SimpleUrlCrawler {

    public static void main(String[] args) {
        try {
            // 创建URL对象,指定要抓取的网页地址
            URL url = new URL("https://news.qq.com/");

            // 打开URL连接获取输入流
            InputStream input = url.openStream();

            // 使用缓冲输入流包装输入流,提高读取效率
            Scanner cin = new Scanner(new BufferedInputStream(input));

            // 创建PrintWriter对象,用于写入文件
            PrintWriter cout = new PrintWriter(new FileWriter("qq.html"));

            // 逐行读取输入流中的内容,并写入文件
            while (cin.hasNextLine()) {
                cout.println(cin.nextLine());
            }

            // 关闭输入流、输出流
            input.close();
            cin.close();
            cout.close();
        } catch (Exception e) {
            // 处理异常
            e.printStackTrace();
        }
    }

}
相关推荐
圆山猫3 小时前
[Virtualization](四):Linux KVM/RISC-V 的 vCPU 运行路径
java·linux·risc-v
城管不管3 小时前
ReAct、Plan-and-Execute、Reflection 三大智能 Agent 范式核心区别
java·人工智能·算法·spring·ai·动态规划
IT小白杨4 小时前
从环境制备到自动化工作流:多账号运营的工程化架构拆解
java·经验分享·自动化·安全架构·指纹浏览器
豆瓣鸡4 小时前
算法日记 - Day3
java·开发语言·算法
萧瑟余晖4 小时前
Java深入解析篇九之NIO详解
java·网络·nio
The Chosen One9855 小时前
高进度算法模板速记(待完善)
java·前端·算法
极光代码工作室7 小时前
基于SpringBoot的课程预约系统
java·springboot·web开发·后端开发
hyf3266337 小时前
泛程序:从零开始搭建稳定程序项目框架
运维·服务器·爬虫·百度·seo
Leighteen7 小时前
`try-finally` 里的 `return`:为什么 `finally` 会悄悄改掉返回值、吞掉异常
java·开发语言
名字还没想好☜8 小时前
Go 的 time.After 在 select 循环里内存泄漏:定时器堆积原理与 timer.Reset 正确姿势
java·数据库·golang·go·goroutine