我正在製作應用程序,並且遇到此問題 我使用模式識別代碼來查找網站中文章的圖片網址。Android正則表達式從網站抓取圖片網址
問題是,在我的方式,它抓住了特別小的第一張照片。
Pattern p = Pattern.compile(「http://planetaris.gr/media/k2/items/cache。* \。jpg」); 有一個XL圖像,我想抓住它的目的地。
我想使用在鏈路的末端它是這樣
圖案P = Pattern.compile(圖案 「(http://planetaris.gr/media/k2/items/cache.)+(。* \ [_ XL] +(。JPG))」 );
或 模式p = Pattern.compile( 「http://planetaris.gr/media/k2/items/cache * \ _ XL.jpg。」);
這是我需要你的幫助 下面是代碼
公共無效的run( ){
//Pattern p = Pattern.compile("http://planetaris.gr/media/k2/items/cache.*\\.jpg");
//Pattern p = Pattern.compile("http://planetaris.gr/media/k2/items/cache.*\\._XL.jpg");
Pattern p = Pattern.compile("(http://planetaris.gr/media/k2/items/cache.)+(.*\\[_XL]+(.jpg))");
try {
URL url = new URL(selectedRssItem.getLink());
URLConnection urlc = url.openConnection();
Log.d("MIMIS_LINK", url.toString());
BufferedInputStream buffer = new BufferedInputStream(urlc.getInputStream());
builder = new StringBuilder();
int byteRead;
while ((byteRead = buffer.read()) != -1)
builder.append((char) byteRead);
buffer.close();
} catch (MalformedURLException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
Matcher m = p.matcher(builder.toString());
if (m.find()) {
try {
bitmap = BitmapFactory.decodeStream((InputStream)new URL(m.group(0)).getContent());
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.d("MIMIS_MATCHER", selectedRssItem.getDescription().toString());
};
handler.sendEmptyMessage(0);
}
}.start();
}
private Handler handler = new Handler() {
//@SuppressWarnings("null")
@Override
public void handleMessage(Message msg) {
mSpinner.clearAnimation();
mSpinner.setVisibility(View.GONE);
//progressDialog.dismiss();
myimageview.setImageBitmap(bitmap);
if (bitmap==null){
myimageview.setImageResource(R.drawable.aris_no_image);
};
}
};
,因爲在現場也有具有這種XL
這些都是在給定頁面中的所有.JPG JPG格式。
HREF = 「/媒體/ K2 /項目/緩存/ df95c3d9029788dcdb6f520e9151056c_XL.jpg」
/media/k2/items/cache/df95c3d9029788dcdb6f520e9151056c_L.jpg 「
」/圖片/故事/atnea2.jpg 「
/images/stories/diarkeias-bc.jpg」
確定我解決它。我使用該圖案p = Pattern.compile(「/ media/k2/items/cache。* \\ XL.jpg「);並且因爲樣本沒有啓動使用http:// .....我使用一個字符串局部變量,它使用標準的http://planetaris.gr/並將匹配器字符串................ .String imglink =「http://planetaris.gr」+ partiallink; – DroidAjax 2013-02-13 17:50:17