gpt4 book ai didi

java - 扫描给定格式 Jsoup Java 的网站链接

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:07:56 26 4
gpt4 key购买 nike

我尝试根据选择器级别扫描网页中的所有链接。我已经给出了

这是我的声明,我已经以某种固定的方式阅读了选择器,我想在循环、递归或任何帮助我变得更灵活的级别选择器命令的地方阅读更多内容我的 future 可能大于 2

public static void main(String[] args) {
String website = website("http://www.java2s.com/");
System.out.println(website);
}

private static String website(String url) {
String lstLink = "";
try {
String level[] = {"div.col-md-9 li a", "div#sidebar ul li a"};
//Level 1
Document connect = Jsoup.connect(url).get();
Elements selectLevel1 = connect.select(level[0]);
for (Element level1 : selectLevel1) {
lstLink += level1.attr("href") + "\n";

//Level2
Document connect2 = Jsoup.connect(level1.attr("href")).get();
Elements selectLevel2 = connect2.select(level[1]);
for (Element level2 : selectLevel2) {
lstLink += level2.attr("href") + "\n";
}
}
} catch (IOException ex) {
Logger.getLogger(AWebsite.class.getName()).log(Level.SEVERE, null, ex);
}
return lstLink;

}

最佳答案

请检查。

    static String levels[] = {"div.col-md-9 li a", "div#sidebar ul li a"};

private static String getRecursive(String href, int level) {

String links = "";

if (level > levels.length-1) {
return "";
}

Document doc;
try {
doc = Jsoup.connect(href).get();
Elements elements = doc.select(levels[level]);

level++;

for (Element element : elements) {
if(!element.attr("href").isEmpty())
{
links += element.attr("abs:href") + "\n";
links += getRecursive(element.attr("abs:href"), level);
}
}
} catch (IOException e1) {
e1.printStackTrace();
}
return links;
}



public static void main(String[] args) {
String website = getRecursive("http://www.java2s.com/", 0);
System.out.println(website);
}

关于java - 扫描给定格式 Jsoup Java 的网站链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33140057/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com