java - 解析java字符串中的 anchor 标记

标签 java html parsing arraylist

我正在创建一个网络爬虫,我只是读取页面的 html 并将其存储到字符串中。然后,我在 html 中找到了所有 anchor 标记,并将它们存储到名为anchorTags 的ArrayList 中。我现在需要获取数组列表中每个字符串的“a href=”部分。为此,我编写了以下代码;但是,由于某种原因,我收到了越界异常。请注意,我需要仅使用循环、数组列表来执行此操作:

ArrayList<String> parsedLinks = new ArrayList<String>();
    String storeHTML = "";

    for(int i = 0; i < anchorTags.size(); i++) {
        String anchorTag = anchorTags.get(i);
        int hrefIndex = anchorTag.indexOf("a href=");

        if (hrefIndex > -1) {



            int beginQuote = anchorTag.indexOf("\"", hrefIndex);

            int EndQuote = anchorTag.indexOf("\"", beginQuote +1);

            if (EndQuote > beginQuote) {
                storeHTML.substring(beginQuote +1, EndQuote);

            }


        }
    }
    parsedLinks.add(storeHTML);
    System.out.println(parsedLinks);
    return parsedLinks;


}

最佳答案

不应该

storeHTML.substring(beginQuote +1, EndQuote);

storeHTML =anchorTag.substring(beginQuote +1, EndQuote); ?

关于java - 解析java字符串中的 anchor 标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23096881/

相关文章:

java - 解释 jstat 结果

javascript - 将 HTML Canvas 裁剪为其可见像素(内容)的宽度/高度?

javascript - 提交表单上的jquery preventdefault不会重新提交

ios - 如何从 Swift 4 中的描述中解析数组?

c# - float.Parse 返回不正确的值

java - 如何让 Eclipse 中的 Java 程序使用多个处理核心?

java - 无法在 java Spring Boot 中创建新实体。获取 `` ` 无法启动嵌入式容器 ``` 错误

java - 用于拆分电话号码的正则表达式

javascript - 无法在 node.js 中加载 js 和 css 文件

c++ - 从文件中读取带有空格和数字数据的文本