Java 方法从返回重复链接的html获取链接
我正在构建一个网络爬虫,我从起始页获取HTML,然后将其交给另一个方法,该方法从中获取链接。我假设我总是使用同一个页面,所以我只是构建它来处理HTML。问题是这个方法返回了重复的链接,我不知道为什么。我检查了我正在拉入的HTML,它是正确的,所以问题在于这个方法。 代码如下:Java 方法从返回重复链接的html获取链接,java,html,methods,hyperlink,Java,Html,Methods,Hyperlink,我正在构建一个网络爬虫,我从起始页获取HTML,然后将其交给另一个方法,该方法从中获取链接。我假设我总是使用同一个页面,所以我只是构建它来处理HTML。问题是这个方法返回了重复的链接,我不知道为什么。我检查了我正在拉入的HTML,它是正确的,所以问题在于这个方法。 代码如下: public static ArrayList<String> linkParser(String htmlContents) { ArrayList<String> links
public static ArrayList<String> linkParser(String htmlContents) {
ArrayList<String> links = new ArrayList<String>();
int start = 0;
boolean done = false;
while (start < htmlContents.length() && !done) {
int startIndex = htmlContents.indexOf("<A HREF", start);
if (startIndex != -1) {
startIndex += 9;
String currentLink = "";
int i = startIndex;
while (htmlContents.charAt(i) != '"') {
currentLink += htmlContents.charAt(i);
start++;
i++;
}
links.add(currentLink);
} else {
done = true;
}
}
return links;
}
非常感谢您的帮助 此代码将起作用
公共静态ArrayList链接解析器(字符串HtmlContent){
ArrayList links=新的ArrayList();
int start=0
boolean done = false;
while (!done) {
htmlContents = htmlContents.substring(start);
int startIndex = htmlContents.indexOf("<A HREF");
if (startIndex != -1) {
startIndex += 9;
String currentLink = "";
while (htmlContents.charAt(startIndex) != '"') {
currentLink += htmlContents.charAt(startIndex);
startIndex++;
}
start = startIndex;
links.add(currentLink);
} else {
done = true;
}
}
return links;
}
boolean done=false;
而(!完成){
htmlContents=htmlContents.substring(开始);
int startIndex=htmlContents.indexOf(“
boolean done = false;
while (!done) {
htmlContents = htmlContents.substring(start);
int startIndex = htmlContents.indexOf("<A HREF");
if (startIndex != -1) {
startIndex += 9;
String currentLink = "";
while (htmlContents.charAt(startIndex) != '"') {
currentLink += htmlContents.charAt(startIndex);
startIndex++;
}
start = startIndex;
links.add(currentLink);
} else {
done = true;
}
}
return links;
}