我正在创建一个网络抓取工具,我只是读取了一个页面的html并存储到一个字符串中。然后我在html中找到了所有的锚标签,并将它们存储到名为anchorTags的ArrayList中。我现在需要乘坐" a href ="数组列表中每个字符串的一部分。为此,我编写了以下代码;但是,出于某种原因,我得到了一个异常的例外。请注意,我需要使用循环,仅限arraylists:
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;
}
答案 0 :(得分:1)
不应该
storeHTML.substring(beginQuote +1, EndQuote);
是
storeHTML = anchorTag.substring(beginQuote +1, EndQuote);
?