Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.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
天气网站jsoup java_Java_Html_Jsoup - Fatal编程技术网

天气网站jsoup java

天气网站jsoup java,java,html,jsoup,Java,Html,Jsoup,我有以下代码 ` ` 我想访问这个网站,有家里的内容,其中有更多的ul每一个与李。我的代码通过了所有ul,但正如你在网站上看到的,它没有按照ul的顺序排列,我得到了第二列,第三列,第四列,然后第一列,我的问题是,为什么它按这个顺序排列 编辑:如果该网站的所有者希望修改结构,以便能够像我在这里做的那样获得此列表,而不修改代码,那么有什么更通用的方法可以做到这一点呢?由于您的代码似乎正确,我对您的代码进行了一点重新格式化 public class NewClass { public stat

我有以下代码

`

` 我想访问这个网站,有家里的内容,其中有更多的ul每一个与李。我的代码通过了所有ul,但正如你在网站上看到的,它没有按照ul的顺序排列,我得到了第二列,第三列,第四列,然后第一列,我的问题是,为什么它按这个顺序排列


编辑:如果该网站的所有者希望修改结构,以便能够像我在这里做的那样获得此列表,而不修改代码,那么有什么更通用的方法可以做到这一点呢?

由于您的代码似乎正确,我对您的代码进行了一点重新格式化

public class NewClass {
    public static void main(String[] args) {
        try {
            Document doc = Jsoup.connect("http://www.vremea.net/").get();
            Elements e = doc.select(".homeContent>ul>li ");
            PrintStream ps = new PrintStream(new FileOutputStream("io"));
            for (int i = 0; i < e.size(); i++) {
                ps.println(e.get(i).text());
                System.out.println(e.get(i).text());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
所以我无法重现你描述的行为。
您可能需要尝试不同或更新版本的Jsoup,甚至Java,并测试问题是否仍然存在。

即使您发现了问题,也只想指出该文档。select返回元素,其中ArrayList是一个超类。您可以直接对其进行迭代

    for (Element item : doc.select(".homeContent > ul > li > a"))
        System.out.println(item.ownText());

不。你的输出和我的一样,但是错误的。如果你看地图下面,你会看到有4列,如果你看你的名字,你会看到你从第二列开始。这也是发生在我身上的事情。对不起,我还是不明白。我正在罗马尼亚principalele localitati的Vremea标题下的地图下方查看。共有4列,每列的第一个元素从左到右依次为Bucuresti、Carei、Medgidia、Satu Mare。我看到它们是按字母顺序从上到下、从左到右排列的,但我也不明白为什么第一个以“B”开头。今天当我进入网站时,这些列与输出类似。我不知道为什么当我问这个问题时,它们在我的计算机上的其他位置,但今天它们就像我的输出和你的输出一样。谢谢你的时间来回答并与我一起搜索错误无需担心!:最重要的是,它的工作方式应该是这样的。
• Bucuresti
• Adjud
• Aiud
• Alba Iulia
• Alexandria
• Arad
• Bacau
• Baia Mare
• Bailesti
• Barlad
• Beius
• Bistrita
• Blaj
• Botosani
• Brad
• Braila
• Brasov
• Buzau
• Calafat
• Calarasi
• Campia Turzii
• Campina
• Campulung Moldovenesc
• Campulung-Muscel
• Caracal
• Caransebes
• Carei
• Cluj-Napoca
• Codlea
• Constanta
• Craiova
• Curtea de Arges
• Dej
• Deva
• Dorohoi
• Dragasani
• Drobeta-Turnu Severin
• Fagaras
• Falticeni
• Fetesti
• Focsani
• Galati
• Gheorgheni
• Gherla
• Giurgiu
• Hunedoara
• Husi
• Iasi
• Lugoj
• Lupeni
• Mangalia
• Marghita
• Medgidia
• Medias
• Miercurea Ciuc
• Moinesti
• Moreni
• Motru
• Odorheiu Secuiesc
• Oltenita
• Onesti
• Oradea
• Orastie
• Orsova
• Pascani
• Petrosani
• Piatra Neamt
• Pitesti
• Ploiesti
• Radauti
• Ramnicu Sarat
• Ramnicu Valcea
• Reghin
• Resita
• Roman
• Rosiori de Vede
• Sacele
• Salonta
• Satu Mare
• Sebes
• Sfantu Gheorghe
• Sibiu
• Sighetu Marmatiei
• Sighisoara
• Slatina
• Slobozia
• Suceava
• Targoviste
• Targu Jiu
• Targu Mures
• Targu Secuiesc
• Tarnaveni
• Tecuci
• Timisoara
• Toplita
• Tulcea
• Turda
• Turnu Magurele
• Urziceni
• Vaslui
• Vatra Dornei
• Vulcan
• Zalau
• Zimnicea
    for (Element item : doc.select(".homeContent > ul > li > a"))
        System.out.println(item.ownText());