• 목록
  • 아래로
  • 위로

안녕하세요?


그누보드용 링크파싱 애드온을 짬짬이 만들어보고 있는데요 ^^


다른 분들께서는 어떤 방식으로 만드셨는지 이것저것 테스트해보고 있네요.


그런데 어떤 애드온의 경우에는 다음과 같이 대표사진으로 애매한 사진파일이 등록되더군요 ㅠㅠ



개인적으로 아래 사진이 등록되기를 기대했지만 무리였네요~!



new.gif이 어떤 메커니즘으로 수집이 되었는지는 모르겠지만


"Study For Us - 모두의 지식공유 커뮤니티! 그리고 무료호스팅!!" 이 부분은 head의 meta 태그 중 타이틀을 받아온 것 같은데요.


"본문으로 바로가기 Site Notice FAQ 설문조사"라는 내용도 조금 아쉽네요 ㅠㅠ



이런 문제를 피하려면 어떤 방식으로 사진파일과 컨텐츠를 수집해야 될까요?


일정 크기의 이미지를 불러오는 방식으로 하면 좋겠지만 제 경험상 PHP의 getimagesize() 함수는 모든 경우에 잘 작동하지는 않는 것 같더군요.


마땅한 대표이미지가 없다면 해당 사이트의 파비콘을 받아서 사용하는 것도 하나의 방법이 될 수는 있을 것 같긴 하네요 ^^;



그럼 답변해주실 분께 미리 감사드립니다!


하루만 버티면 주말인데 다들 화이팅입니다~! ^-^


작성자
이니스프리 119 Lv. (0%) 1890450/115200000EXP

당분간 일신상의 사정으로 쪽지나 댓글로 답변을 드리기 어렵습니다. 죄송합니다.

 

CSVpuymXAAAVVpd.jpg

댓글 9

title: 황금 서버 (30일)humit
profile image

보통 og 태그로 설정이 되어 있는 내용을 읽어오는 것을 기본으로 합니다.

만약 없다면 body에 있는 내용을 토대로 파싱을 하는 방법이 있습니다.

네이버 지식인의 경우에는 og태그가 없으면 아무것도 출럭하지 않습니다.

comment menu
2019.01.11. 11:52

신고

"humit님의 댓글"

이 댓글을 신고 하시겠습니까?

이니스프리 작성자 → humit
profile image

답변해주셔서 정말 감사합니다~!

말씀해주신대로 애드온들이 대체로 og 태그 위주로 내용을 읽어오더군요 ^^

그런데 og 태그 이외에 무엇을 추가로 파싱할 것인지에 따라 보여지는 결과가 상당히 다른 것 같아요 ㄷㄷ

네이버 지식인처럼 og 태그에 국한하여 출력하는 것이 어떤 의미에서는 가장 conservative하고 무난할 수 있겠네요.

제 실력이 부족하지만 일단 말씀해주신대로 og 태그 위주로 만들어보겠습니다!

다시 한 번 감사드립니다 ^-^

comment menu
2019.01.11. 12:44

신고

"이니스프리님의 댓글"

이 댓글을 신고 하시겠습니까?

윤삼
profile image

조언이라기보다는 라이믹스나 XE 기준으로 말씀드릴게요. (이미 뜯어보셨을 수 있겠지만요ㅎ)


기존의 애드온이든 모듈이든 메타 태그의 og나 twitter 속성 등에서 이미지가 체크되면 수집이 중단되게 했었어요.
또 메타 태그에 og 등 특별한 속성이 없는 경우에 한해 페이지에 있는 이미지들을 긁어와서 getimagesize로 사이즈 체크 후 대표 이미지로 선택을 했었습니다.
대략 160px 이상 정도로요.


if ($width > 159 || $height > 159)
{
    if (($width > 0 && $height > 0 && (($width / $height) < 3) && (($width / $height) > .2)) && strpos($img, 'logo') === false)
    {
        $images[] = array("img" => $img, 'base64' => 'data:image/' . $ext . ';base64,' . base64_encode($oParserlinkModel->getRemoteResourceImageString($img)));
    }
}


모듈 쪽에는 이렇게 되어 있네요.
 
말씀하신 문제를 피하려면 아마 위 소스의 조건을 og 속성 체크할 때 적용하는 것도 방법이겠지 싶습니다.

다만, 이러려면 getimagesize를 거부하는 서버에 대해서는 접근이 제한적일 수 있고, 파싱 속도에도 지장이 있을 것 같긴 합니다.

comment menu
2019.01.11. 12:06

신고

"윤삼님의 댓글"

이 댓글을 신고 하시겠습니까?

이니스프리 작성자 → 윤삼
profile image

앗 XETOWN에서 '링크 파싱 애드온'을 제작하신 윤삼 님이시군요~!

애드온을 제작하신 윤삼 님께서 저같은 초보에게 직접 답변해주셔서 몸둘 바를 모르겠네요~ 정말 감사합니다 :)

 

말씀해주신대로 우선 og나 twitter 속성에서 이미지를 체크하되 그 사이즈를 확인하고,

그렇지 않다면 페이지의 이미지를 긁어와서 사이즈를 체크하여 대표이미지로 선택하는 방식으로 시도해보겠습니다.

 

다만 말씀하신대로 getimagesize()가 제한되는 경우에 대해 고려해야 할 것 같고,

저같은 초보가 만들면 파싱속도의 측면에서는 상당히 제한이 따르겠네요 ㅠㅠ

유튜브, 인스타, 네이버뉴스 등 링크가 많이 걸리는 사이트는 속도향상을 위해 별도로 처리를 해야겠네요.

 

그럼 늦었지만 윤삼 님께서도 새해 복 많이 받으세요~!

답변해주셔서 다시 한 번 진심으로 감사드립니다 ^-^

comment menu
2019.01.11. 12:55

신고

"이니스프리님의 댓글"

이 댓글을 신고 하시겠습니까?

윤삼 → 이니스프리
profile image

저야말로 초보여서 부끄럽습니다.

사이트마다 og 기록 방식이 다 다르다보니 사이즈에 따라 페이지 내 이미지를 선택해야 하는 경우가 분명 있을 것 같아요.

작업 응원하겠습니다!

곧 설날이어서 아직 좀 이르지만ㅋ 새해 복 많이 받으세요~!

comment menu
2019.01.11. 13:22

신고

"윤삼님의 댓글"

이 댓글을 신고 하시겠습니까?

포인트 폭탄+ → 윤삼
윤삼님 축하합니다.
추가로 200포인트만큼 포인트 폭탄+를 받았습니다.
WOW! 큰 폭탄이 터졌습니다.
당첨된 포인트의 2배인 총 400포인트를 받으셨습니다.
comment menu
2019.01.11. 13:22

신고

"포인트 폭탄+님의 댓글"

이 댓글을 신고 하시겠습니까?

삭제

"포인트 폭탄+님의 댓글"

이 댓글을 삭제하시겠습니까?

이니스프리 작성자 → 윤삼
profile image

옙 정말 감사합니다!!

저는 그누보드용을 만들고 있지만 윤삼 님께서 XETOWN에 올려주신 자료가 정말 큰 도움이 되고 있네요 ^-^

말씀하신대로 사이트마다 og 기록 방식이 상이한 것이 일정한 결과물을 출력하는 데에 가장 큰 장애물인 것 같아요.

SIR에 유튜브 등 몇몇 대형 사이트에 대해서만 링크 파싱을 하는 소스가 있던 것으로 기억하는데요.

그 제작분께서 그렇게 일부 사이트에 한정하여 작동하도록 제작하신 이유를 조금이나마 이해할 것 같네요.

그럼 윤삼 님께서도 좋은 주말 되세요~!

다시 한 번 감사드립니다 :)

comment menu
2019.01.11. 15:56

신고

"이니스프리님의 댓글"

이 댓글을 신고 하시겠습니까?

도토리묵 → 윤삼

오잉? 윤삼님이 여기서 ㅋㅋㅋ

comment menu
2019.01.14. 12:42

신고

"도토리묵님의 댓글"

이 댓글을 신고 하시겠습니까?

윤삼 → 도토리묵
profile image

네~ 저도 스포어 쓰고 있었어요 ^^/

comment menu
2019.01.14. 14:24

신고

"윤삼님의 댓글"

이 댓글을 신고 하시겠습니까?

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 [작업 완료] 설 명절 맞이 서버 업데이트 안내 3 마스터 24.02.11.17:21 641
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 23.01.14.02:23 4320
공지 [필독] 질문하는 방법 17 마스터 18.02.23.03:09 4474
902 xlsx 파일로 된 DB백업 데이터를 가져오기로 DB에 넣으려면 어떻게 해야할까요? 4 image 동파육 22.08.31.01:49 127
901 phpMyAdmin 접속시 mysqli_real_connect(): (HY000/1045): Access denied for user '000000'@'localhost' (using password: YES) 4 동파육 22.08.31.00:59 147
900 curl: (7) Failed to connect to localhost port 80: Connection refused 2 image 국내산라이츄 22.07.25.15:57 1564
899 Possible attack detected. This action has been logged. 패널접속하니 메세지가뜨네요 1 막시모 22.07.08.12:58 115
898 LTE 폰에서 3G 수신감도 확인방법?? 8 이니스프리 22.05.01.20:42 499
897 Vesa 마운트를 이용한 미니PC의 거치 4 이니스프리 22.04.07.12:23 274
896 우분투 20.04 cockpit 설치 안됨(해결) gunwook 22.04.01.22:20 113
895 브라우저 익스텐션이 있는 self hosted VPN으로 어떤 것이 있을까요? image 이니스프리 22.03.20.13:57 144
894 백업 파일도 디스크 용량에 포함인가요? 3 마당쇠15 22.03.10.10:52 166
893 DNS 관련 질문 (Netlify, CloudFlare) 5 밍원 22.02.14.15:24 200
892 나리야 빌더로 게임커뮤니티 운영 2 핫슈블로그 22.01.27.08:28 470
891 혹시 라이브러리나 개발자문서 한글 번역 정리 2 제목학원장 22.01.11.13:23 286
890 혹시 파이어베이스 사용하고 계시는 분 있으실까요? 공부에 도움될 만한 개발자 문서가 따로 있을까요? 3 제목학원장 22.01.07.13:57 244
889 호스팅 처음 해보는데 받은 주소를 쓰면 스터디 포 어스 페이지가 나옵니다. 7 yuyu 22.01.05.11:35 329
888 개인 홈페이지를 만들려고 하는데 보통 이미지들 어디서 얻으시나요? 다 만들어서 쓸 수는 없을 것 같고.. 2 yuyu 21.12.31.12:53 283
887 홈페에지가 구글에서 검색되도록 봇이 수집하게 설정했는데 API도 수집하도록 설정해도 되나요? 4 손가락개 21.12.06.03:45 278
886 sfuhost에서 사용 가능한 언어 6 모여라꿈동산 21.11.22.14:43 303
885 index 파일은 어디에 넣어야 되는걸까요? 3 모여라꿈동산 21.11.22.08:44 229
884 홈 서버 운영과 관련하여 사소한 질문 몇 가지가 있습니다. 8 image 제르엘 21.11.22.01:54 344
883 호스팅 신청했는데 초기 설정 어떻게 하는건가요? 5 모여라꿈동산 21.11.21.23:44 182