Пример #1
0
  /** @param args */
  public static void main(String[] args) {
    String text =
        "^^ http://flic.kr/p/8qYPcU http://twitpic.com/29399q http://twitpic.com/29399q http://bit.ly/7jXRah 제가 잘 아는 분이 최근 완공한 상계요양원( http://j.mp/9kaWZW )에서 직원을 구한다는데 혹 관심이 있으신 분들이나 누굴 추천해 주실 분들은 이 글을... http://j.mp/9xlh9z #jobko^^ RT @CinemaK: 애니콜 배터리 필요하신분. 착불이나 가까운데 계시는 분들은 만나서 드립니다. 사진의 모델명을 확인해 주세요 ^^ http://yfrog.com/j65xzrj #anbd";

    List list = parser(text);

    for (int i = 0; i < list.size(); i++) {
      UrlDTO dto = (UrlDTO) list.get(i);

      System.out.println("Original URL : " + dto.getOrgUrl());
      System.out.println("Target URL : " + dto.getTargetUrl());
      System.out.println("MainImg URL : " + dto.getMainImgUrl());
      System.out.println("RealImg URL : " + dto.getRealImgUrl());
      System.out.println("URL Type : " + dto.getUrlType());
      System.out.println("");
    }
  }
Пример #2
0
  /**
   * URL파싱 후 리스트에 넣어 반환한다.
   *
   * @param text
   * @return
   */
  public static List parser(String text) {
    List parsingList = new ArrayList();
    String orgUrl = null;
    String targetUrl = null;
    String[] imgUrl = null;

    // 원URL과 파싱후 URL이 동일
    String urlType = "L";

    // text 에 담긴 url들을 얻음
    String[] urlList = ImgUrlHandler.getUrl(text);

    for (int i = 0; i < urlList.length; i++) {
      imgUrl = new String[] {"", ""};
      try {
        // 단축 url인지 여부 판단
        orgUrl = urlList[i];

        if (orgUrl.indexOf(ImgUrlHandler.ImgUrl[ImgUrlHandler.BITLY_URL_INDEX]) > -1) {
          // targetUrl = ImgUrlHandler.bitlyLongUrl(orgUrl);
        } else if (orgUrl.indexOf(ImgUrlHandler.ImgUrl[ImgUrlHandler.JMP_URL_INDEX]) > -1) {
          // targetUrl = ImgUrlHandler.jmpLongUlr(orgUrl);
        } else {
          targetUrl = orgUrl;
        }

        targetUrl = orgUrl;

        // 이미지 url 일 경우
        if (ImgUrlHandler.isImgUrl(targetUrl)) {
          // 원 URL과 파싱 후 URL이 동일
          if (orgUrl.equals(targetUrl)) {
            urlType = "I";
          }
          // 원 URL과 파싱 후 URL이 상이
          else {
            urlType = "BI";
          }

          imgUrl = ImgUrlHandler.getModifyImgUrl(targetUrl);
          if (imgUrl[0] == null || imgUrl[1] == null) urlType = "E";
        }
        // 이미지 이외의 URL 일 경우
        else {
          // 원 URL과 파싱 후 URL이 상이
          if (!orgUrl.equals(targetUrl)) urlType = "BL";

          targetUrl = ImgUrlHandler.getModifyTossiUrl(targetUrl);
          if (targetUrl == null) urlType = "E";
        }

        boolean existUrl = false;
        for (int j = 0; j < parsingList.size(); j++) {
          UrlDTO urlDto = (UrlDTO) parsingList.get(j);

          if (urlDto.getOrgUrl().equals(orgUrl)) {
            existUrl = true;
            break;
          }
        }

        // 중복된 URL의 제외
        if (!existUrl) {
          UrlDTO dto = new UrlDTO();
          dto.setOrgUrl(orgUrl);
          dto.setTargetUrl(targetUrl);
          dto.setMainImgUrl(imgUrl[0]);
          dto.setRealImgUrl(imgUrl[1]);
          dto.setUrlType(urlType);

          parsingList.add(dto);
        }
      } catch (Exception ex) {
        ex.printStackTrace();
      }
    }

    return parsingList;
  }