Java获取页面中所有图片的地址
生活随笔
收集整理的這篇文章主要介紹了
Java获取页面中所有图片的地址
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
先要定位到img標簽,再取src的值。
用正則提取
<img[^>]*?src=[\\s\"']+([^\"']+)[\"'][^>]*>
一般這個就夠用了。
我另外有特殊需求,需要獲取非img標簽的圖片鏈接,且要求結果有序:
public static List<String> getImgUrls(String content){Map<Integer,Integer> ps=new HashMap<Integer,Integer>();List<String> startEnd1 = RegUtil.getStartEnd(content, "http[^\\s<>,]*?(jpg|jpeg|png)");if(startEnd1.size()>0){for(String ss:startEnd1){ps.put(StringUtil.getSplitInt(ss, ",", 0),StringUtil.getSplitInt(ss, ",", 1) );}}List<String> startEnd2 = RegUtil.getStartEnd(content.toLowerCase(), "<img[^>]*?src=[\\s\"']+([^\"']+)[\"'][^>]*>","1");if(startEnd2.size()>0){for(String ss:startEnd2){ps.put(StringUtil.getSplitInt(ss, ",", 0),StringUtil.getSplitInt(ss, ",", 1) );}} // Map<Integer, Integer> startEnd2 = SearchUtil.findPositionWithOpencloseRuleWithoutFragment(content, "<img", ">",null); // if(startEnd2.size()>0){ // for(int s:startEnd2.keySet()){ // String ss=content.substring(s,startEnd2.get(s)); // String sss=HtmlUtil.propertyValue(ss, "src"); // if(sss!=null){ // int idx=ss.indexOf(sss); // ps.put(s+idx,s+idx+sss.length()); // } // } // }List<String> re = new ArrayList<String>();if(ps.size()==0) return re;for(int start:MapUtil.orderMapKey(ps)){int end=ps.get(start);re.add(content.substring(start,end));}return re;}總結
以上是生活随笔為你收集整理的Java获取页面中所有图片的地址的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用线段拟合曲线,纯Java实现缠论笔段
- 下一篇: Java按空白部分切分图片