我正在使用 Jsoup 从这个意大利网站上抓取图片库
在带有 Jsoup 的 AsyncTask 中,我从 HTML 中获取图像的所有 url:
@Override
protected Void doInBackground(String... params) {
Document doc;
try {
ConnectivityManager conMgr = (ConnectivityManager) mActivity
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (conMgr.getActiveNetworkInfo() != null
&& conMgr.getActiveNetworkInfo().isAvailable()
&& conMgr.getActiveNetworkInfo().isConnected()) {
doc = Jsoup
.connect(urlReceivedToConnect)
.timeout(0).get();
Elements imgList = doc.getElementsByClass("phocagallery-box-file-third").select("img");
photoList = new ArrayList<String>();
ListIterator<Element> post = imgList.listIterator();
while (post.hasNext()) {
photoList.add(post.next().attr("abs:src"));
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
然后,在一个定制的适配器中,我正在使用这个 urlsList 并从我稍后放入 gridView 的 url 加载图像:
private Drawable LoadImageFromURL(String url) {
try {
InputStream is = (InputStream) new URL(url).getContent();
Drawable d = Drawable.createFromStream(is, "src");
return d;
} catch (Exception e) {
System.out.println(e);
return null;
}
}
问题是:有些图片显示正常,但有些图片显示此错误:
06-23 10:06:06.930: I/System.out(493): java.io.FileNotFoundException: http://www.italiaebraica.org/images/phocagallery/famiglia_levi/thumbs/phoca_thumb_m_Famiglia Levi 024.jpg
有什么问题?如何以正确的方式获取所有图片?请帮忙,希望很清楚,我是一名初级开发人员!