팁/튜토리얼

링크 파싱 애드온 v.0.4 (2017-08-28)

2017.08.02 08:18
6,198
18

ap_parser.0.4.zip (20170828)

- php 5.5.x 이하에서의 문법 오류 수정

- file_get_contents 등의 함수 없애고 cURL 작동방식 개선(서버의 allow_url_fopen 설정 관계 없이 프리뷰 출력)

- 파싱한 외부 이미지를 데이터 스트링으로 변환 출력(서버측 부담을 늘리고 외부 사이트 부하를 방지) (prologos님)

- 네이버 금융, 부동산 우회 출력


기약 없는 향후 업데이트 계획

- 이미지 리사이즈 후 출력 (0.4 이후 발생하는 서버의 부담을 줄임)

- 본문 출력 시에 링크 프리뷰가 호출되는 것이 아니라, 본문 입력 단계에서 링크 프리뷰 작동 -> 본문 소스에 그대로 포함

... 현행 애드온 자체를 갈아 엎거나 새로운 애드온이 될 듯ㅋ

 

ap_parser.0.3.7.zip (20170825)

- php 5.3.x 이하에서의 문법 오류 버그 수정

- 사용자가 파싱 예외 도메인을 textarea에서 지정할 수 있게 함 (웹지기님)

- 로딩 이미지 안 나오게 할 수도 있는 옵션 추가 (socialskyo님)

- 페이스북, 트위터, 인스타그램, 유튜브의 경우 임베드할지 아니면 보통 출력할지 선택할 수 있음

- 프리뷰 카드 출력 옵션 설정(좌, 우, 중앙)  (socialskyo님) ... 스킨의 css 파일도 덮어쓰기 해야 함!

- 인스타그램 (프로필 페이지에서) 최신 썸네일 이미지 12개 출력 + 일반 미디어 포스트는 바로 임베드- 유튜브 관련 주소 식별 버그 수정 및 플레이리스트 인식

- 이미지 주소가 상대경로로 되어 있을 경우 경로 앞에 도메인 자동 붙이기

 

ap_parser.0.3.6.zip (20170818)

- load scroll resize 후 뷰포트 안에 들어올 때에만 로드하는 방식으로 변경. 기존에는 링크 프리뷰 일괄 로드 방식. 링크가 다수 있는 문서의 경우 클라이언트측의 부하를 줄일 수 있으며, 링크가 특정 서버에 집중돼 있는 경우에는 디도스 혐의로 차단되는 문제를 방지할 수 있음 (socialskyo님, 기진곰님)

- 링크에 다음 문단 첫 어절이 붙는 버그 해결 (pock님, 라르게덴님)

- 네이버 연예, 영화, 뮤직, 책, 웹툰, 사전 미리보기 출력

- 다음 뉴스, 연예, 스포츠, 자동차, 영화 미리보기 출력

- 카드 안의 주소를 호스트+도메인 형태로 간략화 + 그리고 주소 출력 여부 옵션 추가 (휴리파파님)

- 임베드 형식의 Youtube의 경우 최대 넓이를 사용자가 지정하도록 옵션 추가 (웹지기님)

- 링크 텍스트 삭제시 임베디드 링크도 텍스트 삭제에 포함

- css 일부 수정 (웹지기님)

 

ap_parser.0.3.5.zip (20170815)

- 출력에 실패할 경우, 즉 data를 받아오지 못할 경우 container 자동 삭제 (socialskyo님)

- 네이버 뉴스 및  카페 출력 (웹지기님)

- 유튜브 짧은 주소(youtu.be)도 인식 (socialskyo님)

- 미리보기 출력시, 기존 링크 텍스트 삭제 옵션 추가 (pock님)

- css 일부 수정 (웹지기님)

 

ap_parser.0.3.4.zip (20170813)

- 네이버 블로그도 미리보기 출력 가능(카페는 이미지 출력 실패ㅠ)

- 본문에  가 있을 경우 파싱에 실패하는 문제 수정

- css에서 나타나는 미세한 오차들 수정

 

ap_parser.0.3.3.zip (20170812)

- 유튜브도 iframe으로 임베딩 기능 추가
- 트위터 임베드 방식 변경(포스트에서 thread 삭제, 타임라인에서 포스트는 최근 1개만 추출 및 컨테이너 높이 자동맞춤)

- 다음 카페도 미리보기 출력 가능

- css에서 나타나는 미세한 오차들 수정

 

ap_parser.0.3.2.zip (20170811)

- meta 태그 대표 이미지(og, twittercard, 본문 이미지 순) 우선 파싱 및 파싱 성공시 이미지 추가 수집 중지 기능
- 트위터 및 페이스북은 파싱 대신 임베드 방식으로 출력 (이거 땜에 이번 버전을 0.4로 할까 하다가 귀찮아서 그냥 0.3.2로만 올림ㅋ 단, 페이스북 그룹은 여전히 안 됨)

- 다음 블로그도 미리보기 출력 가능 (카페는 아직 안 됨)

 

ap_parser.0.3.1.zip (20170804)

- 파싱할 이미지 최대 개수 지정함으로써 해당 개수 수집후 바로 출력. 즉, 파싱 시간 단축 (웹지기님)

- 파싱 동작시 .wfsr 감추기 (웹지기님)

 

ap_parser.0.3.zip (20170804)

- 링크 추출 대상 본문, 본문+댓글 옵션 제공 (착한악마님)

- 자기 도메인 링크와 외부 도메인 링크 열기 방식 옵션 제공 (웹지기님)

- 이미지 파싱 에러 발생 시, 그리고 에러 이미지 지정을 하지 않았거나 잘못 지정해서 경로를 찾을 수 없는 경우, 이미지 wrap 요소 전체를 삭제 ... 더불어 이전 버전에 제공됐던 에러 이미지(error.png)는 아무리 봐도 안 예뻐서 삭제

- a 태그 스타일(.ap_parser_info a{color: #333 !important;}) (웹지기님)


ap_parser.0.2.1.zip (20170803)

- 제목 및 내용 길이를 제한할 때, 아스키 코드 등으로 되어 있는 페이지 정보를 한글 문자로 인식하도록 우회 처리

- 기본 스킨 css에서 margin과 padding 값에 !importnat 추가 (Booth님)

- 모든 id값에 라이믹스 표준 user_content_ 접두어 추가

- url 주소 부분에 링크 추가

 

ap_parser.0.2.zip (20170802)

- 제목 및 내용 길이 제한 가능 설정 추가 (팔공산님)

- 권한 문제 등으로 이미지 파싱 에러 발생시 대체 이미지 출력

 

-------------------------------

 

지난번에 잠깐 자랑했던 애드온인데 마켓에 올릴 정도는 아닌 거 같아서 그냥 자료 공유만 해봅니다.

 

ap_parser.0.1.zip

 

몇 가지 측면에서 기술적 제약이 있어요.

 

1. 글쓰기할 때 링크를 파싱해오는 게 아니라는 점

2. 그래서 본문을 로딩할 때마다 파싱도 그때 그때 매번 새로 시도한다는 점

3. 스킨 폴더 설정도 완전 야매로 해놔서 제약이 꽤 있다는 점

등등등입니다.

 

그러니까, 실사용한다면 만족스럽지 못한 부분이 있을 거예요.

그럴 땐 과감히 쓰레기통에 버려주세요.

 

그냥 XE에서도 페북처럼 링크 파싱도 가능하겠구나, 하는 정도의 애드온인 걸요.

 

. 혹시라도 스킨을 추가 제작할 생각이 있으시다면, 다음 몇 가지 점에 유의하셔야 합니다.

1) 스킨 파일을 문자열로 읽어들이는 방식이기 때문에 애드온 변수 같은 건 사용할 수 없어요ㅜ

2) 그리고 스킨 파일(index.html)에 작은 따옴표도 들어가면 안 돼요. 그러면 오류 날 거예요;;

3) 디폴트 스킨에 있는 클래스 속성 이름을 함부로 변경하는 것도 안 돼요. 그러면 스크립트 오류 뿜~ 개발시에는 요소들의 위치만 바꾼다든지, 새로운 요소를 추가하는 것 정도만 될 거예요.

... 영 마음에 안 드실 거예요. 가까운 쓰레기통을 찾아주세요ㅠㅠ

 

윤삼 Lv. 19
아무래도 중급 초반 수준의 코딩 오타쿠인 것 같습니다.

댓글 236

  • 2017.08.28 15:32 #713575
    파서 블록이라서;;; 접근이 어렵네요ㅠ
  • 2017.08.28 15:42 #713583
    윤삼님 최고 십니다..!! ㅎㅎ
  • 2017.08.28 15:57 #713596
    미리보기 볼수있나요? 어떤건지 잘 모르겠어용 ㅠㅠㅠㅠ
  • 2017.08.28 16:07 #713603
    http://bit.ly/2w2aruQ 여기로 가보세요~
  • 2017.08.28 16:49 #713617
    우와! 미리보기 페이지 가서 봤는데 진짜 좋네요 ㅋㅋㅋㅋㅋㅋ
  • 2017.08.29 01:39 #714018
    좋아보이는 링크들만 전시해서 그렇지, 파싱이 잘 안 되는 사이트들이 꽤 많을 거예요ㅎ
  • 2017.08.28 21:47 #713719
    헉!! 네이버에서 정말 탐나던 기능인데... 구현해주시다니 넘넘 감사드립니다.
  • 2017.08.29 01:39 #714022
    저도 그런 데서 띵 받아서 시작은 했는데, 그만한 성능은 잘 안 나오네요;;
  • 2017.09.01 05:08 #717925
    오~ 작동 잘 하는데요 ^^;
    감사합니다.
    잘 사용하겠습니다~
  • 2017.09.01 05:33 #717960
    네~ 애드온은 0.4 버전으로 안정화된 것 같네요.
    앞으로의 추가 개발은 람보님 모듈에서 있을 계획이니 예의주시합시다(?)
  • 2017.09.02 22:30 #719331
    엇??? 모듈로도 제작되나요????
  • 2017.09.08 13:28 #726040
    제 사이트는 제목은 파싱이 되는데 글 내용은 파싱이 안됩니다. 이유가 있을까요?
  • 2017.09.08 13:42 #726051
    대상 페이지의 head에서 description을 제공하지 않는 경우 그럴 수 있습니다. 현재로선 그게 가장 가능성이 높아보입니다.
  • 2017.09.10 08:28 #728434

    윤삼님!

    파싱 애드온이 작동을 안합니다...

    기존의 쓰던 사이트에서는 잘됬는데,

    새로 라이믹스를 깔아서 레이아웃을 설치해 만든 사이트는 안되네요 ㅠㅠㅠ

    https://dor1.me/xe/index.php?mid=noriter&document_srl=1886
    기존사이트입니다

    https://www.dor1.me/noriter/534
    현재 쓰는 사이트입니다
     

    유투브, 페이스북, 트위터 빼고는 작동을 안합니다...

     

    무엇이 문제일까요ㅠㅠㅠㅠ

  • 2017.09.10 09:25 #728479
    모듈로 바꿔보세요 ㅎㅎ
  • 2017.09.10 09:33 #728495
    혹시 서버도 옮기신 건가요?
    서버에 curl이 설치가 안 돼 있는 것 같기도 한데...
    그러나 저러나 모듈로 얼른 갈아타시는 게 좋긴 합니다ㅎㅎ
  • 2017.09.10 09:39 #728500
    오 말씀대로 모듈로 갈아타니 잘되네요!

    속도도 더 빠르고 안정적이군요

    너무나 좋은 자료입니다, 한번 더 감사합니다!
  • 2017.09.10 09:41 #728504
    모듈 감사는 람보님께 해주세요 ㅎㅎ
  • 2017.09.13 05:35 #732150
    답변이 늦었습니다. 윤삼님
    ap_parser.0.4.zip (20170828)★ 버전으로 업로드했더니 에러없이 아주 잘 작동합니다.
    마찬가지로 목차애드온도 에러나던게 마지막버전 사용하니 잘 작동 하고요.
    감사합니다. ^^
  • 2017.10.06 16:53 #757033
    최적화 시켜보려고 이리저리 연구하다가 여러 게시판중에 반은 람보님 모듈로, 반은 윤삼님 애드온으로 적용했습니다 ^________^ 감사합니다.
  • 2017.11.09 16:27 #790621
    윤삼님 링크에서 불러오기가 실패했을 때는 미리 설정한 이미지가 뜨게..이 기능도 있었으면 좋겠습니다~ ^_____^
  • 2017.11.09 21:16 #790735
    애드온은 이제 개발 중지했어요... 람보님 모듈로 사악~ 갈아타시길 추천해봅니다ㅎㅎ
  • 2017.11.10 04:15 #791025
    아 ^_________^ 저는 두분꺼 다 쓰고 있어요 ㅎㅎㅎ
  • 2017.12.12 06:06 #824319
    윤삼님 너무 잘쓰고 있엇는데요 1.9 업뎃하니...파싱이 안되는데 혹시 업데이트 계획 있으신지 조심스럽게 여쭤봅니다;;
  • 2018.01.01 09:49 #844230
    애드온 업데이트 계획은 없어요ㅠ 람보님 모듈을 이용해주시면 됩니다요~
  • 2017.12.14 05:09 #826363
    이거 최고네요!
  • 2018.07.03 02:50 #1011549
    @윤삼 님 제목을 불러오지 못하거나 없는 경우 대체 글을 주고 싶은데 어디에다 소스를 넣으면 될까요? (모듈 버전)
  • 2018.07.03 04:38 #1011607
    제목만 파싱이 안 되나요? 제목이 안 되는 거면 보통 링크 자체가 블록상태일 것 같은데요. 자세한 소스 확인은 밤 늦게나 귀가해서 가능할 것 같습니다
  • 2018.07.03 06:31 #1011641

    소수의 링크의 게시글(?)만 안되는 것 같아요.

    (아, 참고로 지금까지 이미지나 내용물은 잘 불러와집니다, 즉 제목만)
    원리는 잘 모르지만 메타태그 내용을 불러와서 출력하는 거 같은데, 메타태그에 제목이 입력 안되어 있다면 불러와지지 않겠죠. (또는 다른 경우일수도..) // 해서, 특정 부분을 불러올 수 없거나 제목, 내용, 이미지 자체가 없는 경우에 조건문을 줘서 기본 텍스트나 이미지로 대체되면 좋을 것 같아요 ㅎㅎ. 감사합니다.

  • 2018.07.03 13:39 #1012084

    이렇게 해보면 어떨까 싶은데요.
    람보님 '모듈'에서 tpl/js 폴더의 ap_parser.js을 열면

    if (data == null || data.title == null || data.title == '' || data.tobool == false)
    {
        $('#' + prefix + cnt + i).parent('.' + container).remove();
    }
    else
    {
        // Hide .wsfr and Show Loading Image
        $('.wfsr').hide();

    위와 같은 부분이 나오는데요.

    이걸 다음과 같이 바꾸면 어떨까요?

    if (data == null || data.tobool == false)
    {
        $('#' + prefix + cnt + i).parent('.' + container).remove();
    }
    else
    {
        if (data.title == null || data.title == '') data.title = '블라블라';
        // Hide .wsfr and Show Loading Image
        $('.wfsr').hide();

     

    하도 오랜만에 코드를 봐서 자신이 없어요. 이걸 다시 구동을 할 엄두도 안 나구요;;;

    다만 이런 식이면 되지 않을까 하는 생각도 듭니다.

    만약 저렇게 해서 안 된다면 ... 문제가 되는 파싱 대상 링크를 보내주세요. 더 연구를 해봐야죠ㅜ

  • 2019.01.15 04:47 #1148886
    감사해영!
  • 2019.01.15 05:53 #1148937
    이렇게 좋은 애드온 이 있었군요. 제작자님 감사합니다.
  • 2019.01.15 06:32 #1148972
    모듈로 만들어진 게 있으니 그게 더 강력할 겁니다.
    https://xetown.com/point_contents/729179
  • 2019.11.20 10:53 #1293592
    윤삼님 이 애드온으로 하면 파싱된 주소의 이미지를 서버에 저장해서 썸네일로 불러오나요??
  • 2019.11.20 11:13 #1293598
    아니오.
  • 2019.11.20 11:22 #1293602
    웹지기님 회신 감사합니다^^;

    도움을 많이주시네요