- 9
- 이니스프리
- 조회 수 303
안녕하세요?
그누보드용 링크파싱 애드온을 짬짬이 만들어보고 있는데요 ^^
다른 분들께서는 어떤 방식으로 만드셨는지 이것저것 테스트해보고 있네요.
그런데 어떤 애드온의 경우에는 다음과 같이 대표사진으로 애매한 사진파일이 등록되더군요 ㅠㅠ
개인적으로 아래 사진이 등록되기를 기대했지만 무리였네요~!
new.gif이 어떤 메커니즘으로 수집이 되었는지는 모르겠지만
"Study For Us - 모두의 지식공유 커뮤니티! 그리고 무료호스팅!!" 이 부분은 head의 meta 태그 중 타이틀을 받아온 것 같은데요.
"본문으로 바로가기 Site Notice FAQ 설문조사"라는 내용도 조금 아쉽네요 ㅠㅠ
이런 문제를 피하려면 어떤 방식으로 사진파일과 컨텐츠를 수집해야 될까요?
일정 크기의 이미지를 불러오는 방식으로 하면 좋겠지만 제 경험상 PHP의 getimagesize() 함수는 모든 경우에 잘 작동하지는 않는 것 같더군요.
마땅한 대표이미지가 없다면 해당 사이트의 파비콘을 받아서 사용하는 것도 하나의 방법이 될 수는 있을 것 같긴 하네요 ^^;
그럼 답변해주실 분께 미리 감사드립니다!
하루만 버티면 주말인데 다들 화이팅입니다~! ^-^
작성자
댓글 9
답변해주셔서 정말 감사합니다~!
말씀해주신대로 애드온들이 대체로 og 태그 위주로 내용을 읽어오더군요 ^^
그런데 og 태그 이외에 무엇을 추가로 파싱할 것인지에 따라 보여지는 결과가 상당히 다른 것 같아요 ㄷㄷ
네이버 지식인처럼 og 태그에 국한하여 출력하는 것이 어떤 의미에서는 가장 conservative하고 무난할 수 있겠네요.
제 실력이 부족하지만 일단 말씀해주신대로 og 태그 위주로 만들어보겠습니다!
다시 한 번 감사드립니다 ^-^
조언이라기보다는 라이믹스나 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를 거부하는 서버에 대해서는 접근이 제한적일 수 있고, 파싱 속도에도 지장이 있을 것 같긴 합니다.
앗 XETOWN에서 '링크 파싱 애드온'을 제작하신 윤삼 님이시군요~!
애드온을 제작하신 윤삼 님께서 저같은 초보에게 직접 답변해주셔서 몸둘 바를 모르겠네요~ 정말 감사합니다 :)
말씀해주신대로 우선 og나 twitter 속성에서 이미지를 체크하되 그 사이즈를 확인하고,
그렇지 않다면 페이지의 이미지를 긁어와서 사이즈를 체크하여 대표이미지로 선택하는 방식으로 시도해보겠습니다.
다만 말씀하신대로 getimagesize()가 제한되는 경우에 대해 고려해야 할 것 같고,
저같은 초보가 만들면 파싱속도의 측면에서는 상당히 제한이 따르겠네요 ㅠㅠ
유튜브, 인스타, 네이버뉴스 등 링크가 많이 걸리는 사이트는 속도향상을 위해 별도로 처리를 해야겠네요.
그럼 늦었지만 윤삼 님께서도 새해 복 많이 받으세요~!
답변해주셔서 다시 한 번 진심으로 감사드립니다 ^-^
저야말로 초보여서 부끄럽습니다.
사이트마다 og 기록 방식이 다 다르다보니 사이즈에 따라 페이지 내 이미지를 선택해야 하는 경우가 분명 있을 것 같아요.
작업 응원하겠습니다!
곧 설날이어서 아직 좀 이르지만ㅋ 새해 복 많이 받으세요~!
옙 정말 감사합니다!!
저는 그누보드용을 만들고 있지만 윤삼 님께서 XETOWN에 올려주신 자료가 정말 큰 도움이 되고 있네요 ^-^
말씀하신대로 사이트마다 og 기록 방식이 상이한 것이 일정한 결과물을 출력하는 데에 가장 큰 장애물인 것 같아요.
SIR에 유튜브 등 몇몇 대형 사이트에 대해서만 링크 파싱을 하는 소스가 있던 것으로 기억하는데요.
그 제작분께서 그렇게 일부 사이트에 한정하여 작동하도록 제작하신 이유를 조금이나마 이해할 것 같네요.
그럼 윤삼 님께서도 좋은 주말 되세요~!
다시 한 번 감사드립니다 :)
오잉? 윤삼님이 여기서 ㅋㅋㅋ
네~ 저도 스포어 쓰고 있었어요 ^^/
보통 og 태그로 설정이 되어 있는 내용을 읽어오는 것을 기본으로 합니다.
만약 없다면 body에 있는 내용을 토대로 파싱을 하는 방법이 있습니다.
네이버 지식인의 경우에는 og태그가 없으면 아무것도 출럭하지 않습니다.