我需要一点帮助。
我有一个字符串数组(urllinks),我想用 url 链接 填充它,这些链接正在通过 for 循环用 jsoup 解析。
在下面的代码示例中有 2 url,但列表只填充了第一个链接。不知道会解析多少个链接,可以是1个也可以是12个。
public static String[] urllinks;
...
for (int i = 0; i < links.size(); i++) { // links size = 2
String url = doc.select("a").attr("abs:href");
urllinks[i] = url;
}
如有任何帮助,我们将不胜感激。
提前致谢。
最佳答案
你的问题是因为你调用了attr("abs:href")
在 doc.select("a")
上返回类型为 Elements
的对象这样您总是会获得 javadoc 中所述的第一个匹配项:
Get an attribute value from the first matched element that has the attribute.
您应该像下一步一样迭代:
List<String> urls = new ArrayList<>();
// Iterate over all the links that have an attribute abs:href
for (Element link : doc.select("a[abs:href]")) {
urls.add(link.attr("abs:href"));
}
urllinks = urls.toArray(new String[urls.size()]);
关于java - 通过for循环用url链接填充字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40223813/