当前位置: 首页 > 知识库问答 >
问题:

使用Java是否有任何标准来判断一个网站是空白的和没有内容的?

江同化
2023-03-14

我试着计算文本可用性,图像可用性,但它不可能停止100%空白网页检测。

共有1个答案

秦琦
2023-03-14

最后,我能够检测空白网页取决于其大小(低于3 KB)和扫描内容。首先,我通过URLConnection下载HTML内容并将其存储在内存中。

public ArrayList<String> captureHtmlTags(String inputUrl) {
        ArrayList<String> readWebsiteHTMLTags = new ArrayList<String>();

        try {
            URL url = new URL(inputUrl);
            try {
                URLConnection connection = url.openConnection();
                // open the stream and assign it into buffered reader..
                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
                String inputLine;
                if (bufferedReader.readLine() != null) {

                    while ((inputLine = bufferedReader.readLine()) != null) {
                        Document doc = Jsoup.parse(inputLine);
                        readWebsiteHTMLTags.add(String.valueOf(doc));
                    }
                    bufferedReader.close();
                    readWebsiteHTMLTags.size();
                } else {
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }
        return readWebsiteHTMLTags;
    }

然后使用iText7库,将读取的HTML转换为PDF并扫描文本内容。

public String convertWebsiteToPdf(ArrayList<String> htmlCode) {
        String generateHtmlPage = null;
        String fileLocation = CONST_FILE_PATH; // path to save the PDFs
        generateHtmlPage = htmlCode.toString();
        FileOutputStream fileOutputStream = null;
        try {
            try {
                fileOutputStream = new FileOutputStream(fileLocation);
                HtmlConverter.convertToPdf(generateHtmlPage, fileOutputStream);
                fileOutputStream.close();
            } catch (Exception e) {
                System.out.println("");
            }

        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if (fileOutputStream != null) {
                    fileOutputStream.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return fileLocation;
    }

如果没有内容发现伴随着低大小的文件,我认为它是一个空白网页。

 类似资料:
  • 问题内容: 我正在编写一个Java程序,用于从POP3电子邮件中下载附件。最初,我通过获取MimePart的内容类型得到验证的输入流来执行此操作。然后,我可以简单地通过FileOutputStream将输入流写入本地文件。 但是,我遇到的一件事是,当我收到一封带有附件的电子邮件作为唯一内容并访问它之后,该邮件(消息类型)仅由一个部分组成,即文本/普通类型。其内容包括大量随机外观的字符。 通过互联网

  • 我可以检查一个帐户是否是一个广告组的成员,但有没有办法告诉一个帐户是否属于一个OU?我想搜索由你而不是由广告组,我不确定如果这是可能的。下面是我如何搜索一个广告组。

  • 本文向大家介绍如何判断一个对象是否为空?相关面试题,主要包含被问及如何判断一个对象是否为空?时的应答技巧和注意事项,需要的朋友参考一下 可以使用 JSON.stringify() 方法判断 还有就是使用for in 遍历该对象 3.ES6 新增的方法 Object.keys(): Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组。 如果我们的对象为空,他会返回一个

  • 我一直是苹果操作系统上的Java应用程序,还没有机会在不同的地方进行全面测试。 有两个不同的JFrame。第二个被加载,而不是第一个,因此需要将其大小和位置设置为与第一个相同。 这很好,但我注意到许多Windows用户似乎最大化了第一个窗口。当第二个JFrame加载时,其尺寸相同,但未“最大化”。 微软视窗世界中的最大化视窗状态略有不同,操作系统也有不同的处理方式。 如何判断JFrame是否最大化

  • 本文向大家介绍请问如何判断一个链表是否有环?相关面试题,主要包含被问及请问如何判断一个链表是否有环?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 方法1:用一个指针数组A,存储已访问过的节点。用一个指针p,每次在链表上移动一步,然后与指针数组A比较,若数组中没有指针与p相同,说明第一次访问p,将p放入数组中;若有指针与p相同,则存在环路,且第一次相同的节点就是环的入口点。 链表长度为n,

  • 今天遇到一个非常奇怪的站点 或者点击此处 该站点如果通过浏览器去访问则会一直在加载中,直到超时。但是浏览器会正常展示页面信息。小弟想知道如何来实现这类网站的原理。 请各位大大帮忙分析一下这类请求。 这里不涉及这个网站为什么会被拦截,请勿回复这个。我需要知道是为什么这个网站会一直加载,但是页面展示正常。以及如何来通过chrome扩展来判断这个请求是否完毕。 先说明一下这个网站奇怪的点。 一个正常的请