gpt4 book ai didi

java - 使用 jsoup 解析图像

转载 作者:行者123 更新时间:2023-12-01 11:42:51 26 4
gpt4 key购买 nike

人工智能又出现了一些问题))

我有一段代码可以解析文件中的链接。在文件中我有一些论坛步骤的链接。像这样:

http://vao-priut.org/image/cherepashka-metis-gollandskoi-ovcharki-s-72 http://vao-priut.org/image/taiga-s-26

等等

我尝试使用以下代码解析图像:

class ParseMyPageTask extends AsyncTask<String, Void, String> {

@Override
protected String doInBackground(String... params) {
try {
input = new URL("https://gist.githubusercontent.com/akhorevich/5b849373dc9abaf921b3/raw/18e79ab6a0c0be007a2a4590e4e176184ced311a/links");

sc = new Scanner(input.openStream());
while(sc.hasNextLine()){
String link = sc.nextLine();

doc = Jsoup.connect(link).get();
Elements names = doc.select("div.node-title");
// Elements images = doc.select("div.node div.content img");
Elements imgs = doc.select("div.node div.content img");

for (Element img : imgs) {

Element myImage = img;
String imgSrc = myImage.attr("src");
InputStream inp = new java.net.URL(imgSrc).openStream();
// Decode Bitmap
bitmap = BitmapFactory.decodeStream(inp);
}


for(Element name: names) {
mData.add(name.text());

}

if(mData.size() == 0) {
mData.add("Empty result");
}

}



} catch (IOException e) {
e.printStackTrace();
mData.clear();
mData.add("Exception: " + e.toString());
}
return text; // получаем весь текст
}

@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);

sectorC_adapter = new SectorC_Adapter(getActivity());
mListView.setAdapter(sectorC_adapter);

}
}

但它仅解析最后一个链接中的图像并将其添加到所有项目中。我怎样才能制作一些图像 bufferedArray 或类似的东西?谢谢!!!

附注我忘记了我的 BaseAdapter:

class SectorC_Adapter extends BaseAdapter{
private Context c;

SectorC_Adapter(Context c){
this.c = c;
}
@Override
public int getCount() {
return mData.size();
}

@Override
public Object getItem(int position) {
return mData.get(position);
}

@Override
public long getItemId(int position) {
return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView==null){
inflater = (LayoutInflater)c
.getSystemService(c.LAYOUT_INFLATER_SERVICE);
row = inflater.inflate(R.layout.sector_row, parent,false);
}else {
row = convertView;
}
tvInfo = (TextView)row.findViewById(R.id.dog_name);
tvInfo.setText(mData.get(position).toString());
dog_view = (ImageView)row.findViewById(R.id.dog_view);
dog_view.setImageBitmap(bitmap);
return row;
}
}

最佳答案

在这里您不会将图像添加到任何列表中

            for (Element img : imgs) {

Element myImage = img;
String imgSrc = myImage.attr("src");
InputStream inp = new java.net.URL(imgSrc).openStream();
// Decode Bitmap
bitmap = BitmapFactory.decodeStream(inp);

///HERE YOU SHOULD ADD YOUR BITMAP TO ALL ELEMENTS
///eg. allImages.add(bitmap); or whatever.
}

我认为位图是添加到您的所有元素中的某种字段,因此基本上只会存储最后一个状态。您所要做的就是将位图添加到for-loop 中。

关于java - 使用 jsoup 解析图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29382887/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com