Erste Entschuldigung für mein schlechtes Englisch zu bekommen. Ich bin neu in der Programmierung (2 Jahre in Collage). Ich versuche, Bild von Zomato zu bekommen. Ja, API gibt uns nur einen Link.(), also muss ich das Bild manuell aus dem Internet holen.Verwenden von Jsoup, um Bild
Ich habe dies bereits in iOS mit Kana getan.
func parseHTML(html:String){
if let doc = Kanna.HTML(html: html, encoding: String.Encoding.utf8){
for show in doc.css("div[class^='photobox']"){
let getA = show.css("a").first
let image = getA!.css("img[class^='res-photo']").first?["data-original"]
let imageUrl = image!.components(separatedBy: "?")[0]
linkImageArray.append(imageUrl)
print("jumlah gambar = \(linkImageArray.count)")
}
}
foodCV.reloadData()
}
Und meine Frage, wie man das in Jsoup macht? Diese
, wie ich HTML bekam Jetzt
Call<ResponseBody> photos = client.getPhotos();
photos.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, retrofit2.Response<ResponseBody> response) {
if (response.isSuccessful()){
Log.i("retrofit: ","response "+response.body().toString());
getPhotos(response.body().toString());
}else{
Log.i("retrofit: ","notSuccess");
}
}
im mit diesem stecken. Photobox.toString leer.
public void getPhotos(String stringResponse){
Document doc = Jsoup.parse(stringResponse);
Elements photobox = doc.getElementsByClass("container");
Log.i("html : ",""+photobox.toString());
Toast.makeText(this, photobox.toString(), Toast.LENGTH_SHORT).show();
for (Element data:photobox){
Log.i("html : ",""+data.select("img[class^='res-photo']"));
Log.i("html : ",""+data.select("img[class^='res-photo']").first().select("data-original"));
data.select("img[class^='res-photo']").first().select("data-original");
}
}
Und ich bin sicher ich nicht diesen Jsoup: how to get an image's absolute url? verwenden kann. Es wird alle Bilder zurückgeben. Ich würde gerne mit 'Daten-Original' img werden.
<img class='res-photo-thumbnail thumb-load lazy-photo-inner'
src='https://b.zmtcdn.com/images/photoback.png'
title='Coffee Sisters - Coffee Sisters's photo'
alt='Coffee Sisters - Coffee Sisters's photo'
data-original='https://b.zmtcdn.com/data/reviews_photos/e4a/04b8e0669945bfe03fd0789cbd42be4a.jpg?fit=around%7C200%3A200&crop=200%3A200%3B%2A%2C%2A'
data-type='res'
data-photo_id='u_NDY5NzEwNzI1MD'
data-index='27'
data-category='all'
/>
Mögliches Duplikat [Jsoup: wie ein Bildes absolute URL bekommen] (https://stackoverflow.com/questions/4875064/jsoup-how-to-get-an-images-absolute-url) –
@KarlNicholas Es wird alle img-Tag zurückgeben, ich brauche nur img mit 'Daten-Original'. – Acless