Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用jsoup在站点上查找特定文件_Java_Hyperlink_Zip_Jsoup - Fatal编程技术网

Java 使用jsoup在站点上查找特定文件

Java 使用jsoup在站点上查找特定文件,java,hyperlink,zip,jsoup,Java,Hyperlink,Zip,Jsoup,所以我正在尝试创建一个小程序,为我更新魔兽世界插件。Im使用jsoup获取特定站点上的链接列表。如何忽略不是以.zip结尾的文件/链接 这是我到目前为止的链接列表,正如你所看到的,它将打印出网站上所有链接的列表。目标是只查找.zip文件(只有两个)。然后下载其中一个。每次更新插件时直接链接下载更改,所以我不能只下载特定链接。我每次都需要找到最新的版本 public static void LinkList() { Document doc; try { doc

所以我正在尝试创建一个小程序,为我更新魔兽世界插件。Im使用jsoup获取特定站点上的链接列表。如何忽略不是以.zip结尾的文件/链接

这是我到目前为止的链接列表,正如你所看到的,它将打印出网站上所有链接的列表。目标是只查找.zip文件(只有两个)。然后下载其中一个。每次更新插件时直接链接下载更改,所以我不能只下载特定链接。我每次都需要找到最新的版本

public static void LinkList() {
    Document doc;
    try {


        doc = Jsoup.connect("http://www.tukui.org/dl.php").get();


        Elements links = doc.select("a[href]");
        for (Element link : links) {


            System.out.println("\nlink : " + link.attr("href"));

        }

    } catch (IOException e) {
        e.printStackTrace();
    }
    }

您可以使用
[attr$=value]
选择器检查
属性是否以
结尾

Elements links = doc.select("a[href$=zip]");
演示:


谢谢。有没有办法将列表保存到数组中?@user2599508这是什么意思?您希望它保存哪种类型的数组<代码>元素[]
字符串[]
,其他?字符串。每次我想使用它时,我想要的那个可能会在数组中的同一个位置,这意味着我以后可以使用数组来实际下载我想要的文件,即@user2599508我用代码更新了我的答案,这些代码将输出放入字符串数组中,但我可能不会返回数组,而只返回
List
,因为它将具有相同的值,并且您可以以与数组相同的方式使用它。
Document doc = Jsoup.connect("http://www.tukui.org/dl.php").get();
Elements links = doc.select("a[href$=zip]");

List<String> list = new ArrayList<>();
for (Element link : links) {
    System.out.println("link : " + link.attr("href"));
    list.add(link.attr("href"));
}

String[] arr = list.toArray(new String[list.size()]);

System.out.println("array content:" + Arrays.toString(arr));
link : http://www.tukui.org/downloads/tukui-15.79.zip
link : http://www.tukui.org/downloads/elvui-6.82.zip
link : /client/win/tc2430.zip
array content:[http://www.tukui.org/downloads/tukui-15.79.zip, http://www.tukui.org/downloads/elvui-6.82.zip, /client/win/tc2430.zip]