Java Web Crawler Libraries

2022-09-02 00:32:46

我想做一个基于Java的Web爬虫进行实验。我听说,如果这是你第一次使用Java,那么用Java制作Web爬虫就是要走的路。但是,我有两个重要的问题。

  1. 我的程序将如何“访问”或“连接”网页?请给出一个简短的解释。(我了解从硬件到软件的抽象层的基础知识,在这里我对Java抽象感兴趣)

  2. 我应该使用哪些库?我假设我需要一个用于连接到网页的库,一个用于HTTP / HTTPS协议的库,以及一个用于HTML解析的库。


答案 1

爬虫4j是最适合您的解决方案,

Crawler4j是一个开源的Java爬虫,它提供了一个简单的Web爬行界面。您可以在5分钟内设置多线程网络爬虫!

请访问。以获取更多基于 java 的 Web 爬虫工具以及每个工具的简要说明。


答案 2

这就是您的程序“访问”或“连接”网页的方式。

    URL url;
    InputStream is = null;
    DataInputStream dis;
    String line;

    try {
        url = new URL("http://stackoverflow.com/");
        is = url.openStream();  // throws an IOException
        dis = new DataInputStream(new BufferedInputStream(is));

        while ((line = dis.readLine()) != null) {
            System.out.println(line);
        }
    } catch (MalformedURLException mue) {
         mue.printStackTrace();
    } catch (IOException ioe) {
         ioe.printStackTrace();
    } finally {
        try {
            is.close();
        } catch (IOException ioe) {
            // nothing to see here
        }
    }

这将下载html页面的源代码。

有关 HTML 解析,请参阅

也看看 jSpiderjsoup


推荐