...............
<iframe src="../ads/order_ad_950x60.htm"  scrolling="No" height="60"></iframe>
..............
我现在正写一个java程序,提取jsp页面中的链接,但是这个iframe里面得怎么也提取不到,
上面的页面内容已经获取到,就剩下提取了!!  求大侠们帮忙!!!

解决方案 »

  1.   

    用javascript试试  先给iframe设个id
    var url=document.getElementById("myIframe").src;同为菜鸟  关注。。
      

  2.   

    用正则式String str = "<iframe src=\"../ads/order_ad_950x60.htm\"  scrolling=\"No\" height=\"60\"> </iframe>";
            System.out.println(str.replaceAll("\\<iframe +src=\"(.*?)\".*?\\>\\ *</iframe\\>", "$1"));
      

  3.   

    不懂,不过这个帖子跟你的问题差不多
    http://topic.csdn.net/u/20090105/17/0b0806f3-ea13-4378-893c-2541223f2afe.html
      

  4.   

    先谢谢了 不过我是要获取整个页面中的iframe里的url地址 其他的标签里的url我是通过public void handleStartTag(HTML.Tag t, MutableAttributeSet a, int pos) {
    // 取文件中所有的js文件路径
    if (t.equals(HTML.Tag.SCRIPT)) {
    String src = (String) a.getAttribute(HTML.Attribute.SRC);
    if (src != null) {
    element.add(src);
    }
    System.out.println("jssrc===" + src);
    count++;
    }

    if (t.equals(HTML.Tag.A)) {
    String href = (String) a.getAttribute(HTML.Attribute.HREF);
    if ((href != null) && (href.endsWith(".htm") || href.endsWith(".html"))) {
    element.add(href);
    }
    System.out.println("htmlhref===" + href);
    count++;
    }

    if (t.equals(HTML.Tag.A)) {
    String href = (String) a.getAttribute(HTML.Attribute.HREF);
    if ((href != null) && (href.endsWith(".htm") || href.endsWith(".html"))) {
    element.add(href);
    }
    System.out.println("htmlhref===" + href);
    count++;
    }
    }这个iframe里的可以用这个办法吗???
      

  5.   

     final static String EXPRESS_IFRAME_SRC    = "<([Ii][Ff][Rr][Aa][Mm][Ee])[^>]*src=(\"([^\"]*)\"|\'([^\']*)\'|([^\\s>]*))[^>]*>(.*?)</iframe>";
    // 获取jsp或html中<iframe src="..."></iframe>引入的html文件
        private List<String> getIfromSrc(final String s) {
            String regex;
            final List<String> list = new ArrayList<String>();
            final List<String> filterlist = new ArrayList<String>();
            regex = EXPRESS_IFRAME_SRC;
            final Pattern pa = Pattern.compile(regex, Pattern.DOTALL);
            final Matcher ma = pa.matcher(s);
            while (ma.find())
            {
                list.add(ma.group());
            }
            for (int i = 0; i < list.size(); i++)
            {
                if (list.get(i).contains(".html"))
                {
                    String temp = list.get(i).substring(list.get(i).indexOf("src=") + 5, list.get(i).indexOf(".html") + 5).trim();
                    filterlist.add(temp);
                }
                else if (list.get(i).contains(".htm"))
                {
                    String temp = list.get(i).substring(list.get(i).indexOf("src=") + 5, list.get(i).indexOf(".htm") + 4).trim();
                    filterlist.add(temp);
                }
                else if (list.get(i).contains(".jsp"))
                {
                    String temp = list.get(i).substring(list.get(i).indexOf("src=") + 5, list.get(i).indexOf(".jsp") + 4).trim();
                    filterlist.add(temp);
                }
            }
            return filterlist;    }
    还是用正则爽啊 ! 呵呵
      

  6.   

    final static String EXPRESS_IFRAME_SRC    = " <([Ii][Ff][Rr][Aa][Mm][Ee])[^>]*src=(\"([^\"]*)\"|\'([^\']*)\'|([^\\s>]*))[^>]*>(.*?) </iframe>"; 
    // 获取jsp或html中 <iframe src="..."> </iframe>引入的html文件 
        private List <String> getIfromSrc(final String s) { 
            String regex; 
            final List <String> list = new ArrayList <String>(); 
            final List <String> filterlist = new ArrayList <String>(); 
            regex = EXPRESS_IFRAME_SRC; 
            final Pattern pa = Pattern.compile(regex, Pattern.DOTALL); 
            final Matcher ma = pa.matcher(s); 
            while (ma.find()) 
            { 
                list.add(ma.group()); 
            } 
            for (int i = 0; i < list.size(); i++) 
            { 
                if (list.get(i).contains(".html")) 
                { 
                    String temp = list.get(i).substring(list.get(i).indexOf("src=") + 5, list.get(i).indexOf(".html") + 5).trim(); 
                    filterlist.add(temp); 
                } 
                else if (list.get(i).contains(".htm")) 
                { 
                    String temp = list.get(i).substring(list.get(i).indexOf("src=") + 5, list.get(i).indexOf(".htm") + 4).trim(); 
                    filterlist.add(temp); 
                } 
                else if (list.get(i).contains(".jsp")) 
                { 
                    String temp = list.get(i).substring(list.get(i).indexOf("src=") + 5, list.get(i).indexOf(".jsp") + 4).trim(); 
                    filterlist.add(temp); 
                } 
            } 
            return filterlist;     }