我正在使用以下代码行从网上获取图像:

for(int i=0; i<links.size(); i++){
        try{
            doc=Jsoup.connect(links.get(i)).userAgent("Mozilla").ignoreHttpErrors(true).timeout(0).get();
            Elements links=doc.getElementsByTag("img");
            imageLink=links.get(3).toString();
            String[] bits=imageLink.split("\"");
            imageLink=bits[1];
            System.out.println(imageLink);
            url=new URL(imageLink);
            image=ImageIO.read(url);
            images.add(image);
        }
        catch (IOException e) {
            e.printStackTrace();
        }
}


这段代码很好用,但是速度很慢。我每秒获得一张图像,而我至少需要一半的时间。我有什么可以改善的吗?

最佳答案

您可以替换为:

imageLink=links.get(3).toString();
String[] bits=imageLink.split("\"");
imageLink=bits[1];


有了这个:

imageLink = links.get(3).attr("src");


在此处阅读有关提取属性的更多信息:http://jsoup.org/cookbook/extracting-data/attributes-text-html

10-04 10:22