我试图从网上获取来自网上存储库的多张图片,但我不知道从哪里开始。我将用Picasso创建幻灯片,但从那里我不知道如何从链接中提取所有图像。
一个例子是该页面上的所有图像:http://www.readmangaonline.org/manga/one-piece/902/1
答案 0 :(得分:2)
您可以使用JSoup从网页中删除图片。
要在Android上使用JSoup,请将其添加到您的gradle文件
implementation 'org.jsoup:jsoup:1.11.3'
然后创建一个AsyncTask来获取网页内容
class ImageScrapAsyncTask extends AsyncTask<String, Void, Document> {
@Override
protected Document doInBackground(String... urls) {
try {
return Jsoup.connect(urls[0]).get();
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
@Override
protected void onPostExecute(Document document) {
if (document != null) {
Elements imgElements = document.select("img");
List<String> images = new ArrayList<>();
for (Element element : imgElements) {
String image = element.attr("data-src");
/*Note data-src is used instead of src, as example
you provided uses lazy loading and has image file
url inside data-src attribute. You may need to use
src for other pages. */
Log.d("IMAGE_URL", image);
images.add(image);
}
}
}
}
您可以将AsyncTask启动为
String url = "http://www.readmangaonline.org/manga/one-piece/902/1";
new ImageScrapAsyncTask().execute(url);
现在,您在AsyncTask的onPostExecute中的images
列表中有图像网址列表。