我希望能从HTML代码中提取图像的URL,例如下面的HTML代码:
<div class="imageContainer">
<img src="http://ecx.images-amazon.com/images/I/41%2B7N48F7JL._SL135_.jpg"
alt="" width="135" height="94"
style="margin-top: 21px; margin-bottom:20px;" /></div>
我从网络上获取了一段代码
String regexImage = "(?<=<img (*)src=\")[^\"]*";
Pattern pImage = Pattern.compile(regexImage);
Matcher mImage = pImage.matcher(elementString);
while (mImage.find()) {
String imagePath = mImage.group();}
这是一个正常运行且具有正则表达式的程序。
"(?<=<img src=\")[^\"]*"
但现在我想从以下类似的HTML代码中提取图像URL:
:
<img onerror="img_onerror(this);" data-logit="true" data-pid="MOBDDDBRHVWQZHYY"
data-imagesize="thumb"
data-error-url="http://img1a.flixcart.com/mob/thumb/mobile.jpg"
src="http://img8a.flixcart.com/image/mobile/h/y/y/samsung-galaxy-s-duos-s7562-125x125-imadddczzr4qhqnc.jpeg"
alt="Samsung Galaxy S Duos S7562: Mobile"
title="Samsung Galaxy S Duos S7562: Mobile"></img></a>
<div class="bp-offer-image image-offer"></div>
在`img`和`src=`之间的代码是需要翻译的内容。
我正在尝试使用正则表达式:
"(?<=<img (*)src=\")[^\"]*"
,但它不起作用。请提供一个正则表达式,以便从上述HTML代码中提取图像URL,即http://ecx.images-amazon.com/images/I/61xqOQ3Sj8L._SL135_.jpg
。首先,我使用Jsoup解析HTML以提取包含img的标签:
doc = Jsoup.connect(urlFromBrowse).get();
Elements elements = doc.getElementsByTag("img");
for (Element element : elements) {
String elementString = element.toString();
我将这个elementString传递给matcher()方法。从我获取的标签(element)中,我使用正则表达式来解析图片url、名称等内容。