<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    用正則表達式提取網頁中的鏈接

    個人感覺效率肯定還能進一步提高。。。。
    不過實在是對正則不是太熟悉,只好暫時這樣了。

    代碼如下:

     1    /** The regex for search link with the tag "a" */
     2    private final String A_REGEX = "<a.*?/a>";
     3    /** The regex for search url with the tag "href" */
     4    private final String HREF_REGEX = "href=\".*?\"";
     5    /** The pattern for linke with the tag "a" */
     6    private final Pattern A_PATTERN = Pattern.compile(A_REGEX);
     7    /** The pattern for url with the tag "href" */
     8    private final Pattern HREF_PATTERN = Pattern.compile(HREF_REGEX);
     9    /**
    10     * Get url address from the url and the content of the url
    11     * @param url the url need to be get links
    12     * @param content the content of the given url
    13     * @return a list with the url address of the links
    14     */

    15    public List<String> getLinkList( URL url, String content )
    16    {
    17        List<String> linkList = new LinkedList<String>();
    18        final Matcher a_matcher = A_PATTERN.matcher(content);
    19        while (a_matcher.find()) 
    20        {
    21            //JUST FOR TEST!
    22//            System.out.println(a_matcher.group());
    23            //get url address
    24            final Matcher myurl = HREF_PATTERN.matcher(a_matcher.group());
    25            while (myurl.find())
    26            {
    27                String urlAddress = myurl.group().replaceAll("href=|>|\"|\"""");
    28                if( urlAddress.startsWith("http") )
    29                {
    30                    linkList.add(urlAddress);
    31                }

    32                else if( urlAddress.startsWith("/"|| urlAddress.startsWith("\\") )
    33                {
    34                    linkList.add(url.getPath()+urlAddress);
    35                }

    36                else
    37                {
    38                    String fullUrl = url.toString();
    39                    //the length of the url without the current page
    40                    int lastSlash = fullUrl.lastIndexOf("/"+ 1;
    41                    linkList.add(fullUrl.substring(0,lastSlash) + urlAddress);
    42                }

    43            }

    44        }

    45        return linkList;
    46    }

    posted on 2009-11-05 03:00 甜菜侯爵 閱讀(449) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2009年11月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    293012345

    導航

    統計

    常用鏈接

    留言簿

    隨筆檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 四虎在线最新永久免费| 亚洲日韩中文在线精品第一| 在线视频观看免费视频18| 免费大黄网站在线观| 久久亚洲日韩精品一区二区三区| 亚洲综合激情五月色一区| 免费无码黄网站在线看| 国产一区视频在线免费观看 | 永久黄网站色视频免费| 亚洲国产精彩中文乱码AV| 久久久久久久久无码精品亚洲日韩| 黄色网址在线免费| 亚洲国产成人a精品不卡在线| 亚洲毛片无码专区亚洲乱| 中文字幕a∨在线乱码免费看| 免费看的黄色大片| 男女猛烈xx00免费视频试看| 男男AV纯肉无码免费播放无码| 久久精品国产亚洲| 中文字幕免费视频精品一| 香蕉视频在线观看亚洲| 两个人看的www高清免费视频| 国产男女猛烈无遮挡免费网站| 亚洲国产综合自在线另类| 精品亚洲永久免费精品| 亚洲视屏在线观看| 免费人成无码大片在线观看| 色婷婷综合缴情综免费观看| 男男AV纯肉无码免费播放无码 | 一级毛片免费观看不卡的| 亚洲日韩涩涩成人午夜私人影院| 91在线免费观看| 亚洲人妖女同在线播放| 亚洲免费观看网站| 综合偷自拍亚洲乱中文字幕| 亚洲精品国产精品乱码视色| 成人性生交大片免费看中文| 亚洲精品人成电影网| 又粗又硬又黄又爽的免费视频| 久久久久国色av免费看| 男人的天堂av亚洲一区2区|