• 목록
  • 아래로
  • 위로

안녕하세요?


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


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


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



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



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


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


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



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


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


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



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


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


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

Make StudyForUs Great Again!

 

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

신고

"윤삼님의 댓글"

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

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 [1차 해결 및 추가] 서버 접속 불가 문제 안내 12 마스터 24.06.20.15:22 298
공지 [작업 완료] 설 명절 맞이 서버 업데이트 안내 3 마스터 24.02.11.17:21 2327
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 23.01.14.02:23 6021
공지 [필독] 질문하는 방법 17 마스터 18.02.23.03:09 4592
306 파이썬에서 requests.Session()에 대한 간단한 질문을 드립니다 ^^ 2 이니스프리 19.11.09.21:45 1971
305 [SSD] Micron 1100 vs Samsung 860 QVO 어떻게 생각하시는가요? 7 image 이니스프리 19.11.09.22:52 283
304 현재 신제품 구매가 가능한 배터리 탈착식 스마트폰에 어떤 것이 있을까요? 이니스프리 19.11.10.22:18 204
303 유튜브에 유튜버 '분류' 또는 '장르'라는 것이 존재하나요?? 2 이니스프리 19.11.12.21:57 243
302 가계부 프로그램 추천 부탁드립니다! 2 이니스프리 19.11.12.23:59 229
301 스포어 호스팅 사용 중에 실수로 반복문을 잘못 돌리면 계정이 정지되나요? ㅠㅠ 2 이니스프리 19.11.14.00:25 184
300 구글 애드센스 잘아시는분 있나유? 2 슬기 19.11.14.23:54 220
299 윈도우7 익스플로러11에서 인터넷옵션/시작옵션/마지막 세션의 탭으로 시작이 작동이 안됩니다. 3 kyhsyou 19.11.15.10:54 299
298 국내 유료 웹호스팅 사이트 추천을 부탁드립니다 14 이니스프리 19.11.16.00:09 334
297 3.5인치 외장하드 케이스에 SSD를 연결하면 전압과 관련된 문제가 발생할까요? 3 이니스프리 19.11.16.02:04 413
296 카카오 API OCR의 인식률은 어떤가요? 1 이니스프리 19.11.16.22:31 1584
295 코딩 컨벤션상 전역변수와 지역변수의 변수명을 동일하게 하는 것이 무방한가요? 4 이니스프리 19.11.17.18:09 310
294 윈도우 NTFS에서 확장자의 대소문자가 구별되나요? (파이썬 pathlib.Path(file).suffix 관련) 9 이니스프리 19.11.19.00:50 1394
293 네이버 사전을 크롤링할 때 한자의 인코딩 관련 하여 질문 드립니다. (일부 한자만 깨지는 현상) 21 image 이니스프리 19.11.22.16:22 1255
292 기계식 키보드 추천을 부탁드립니다! 20 갱생협스 19.11.24.12:56 240
291 Amazon, Jomashop 등 대형 사이트에서는 크롤러를 어떻게 감지하나요? 10 이니스프리 19.11.24.15:12 1738
290 error page 설정은 어떻해야할까요? 2 슬기 19.11.24.21:27 227
289 데스크탑이냐 랩탑이냐, 그것이 문제입니다. 29 네모 19.11.28.14:15 332
288 노트북 발열 문제를 잘 잡는 분 계실까요? 6 이니스프리 19.12.04.19:04 234
287 [파이썬] 롯데백화점 크롤링과 관련하여 질문을 드립니다 2 image 이니스프리 19.12.04.21:56 266