• 목록
  • 아래로
  • 위로

안녕하세요?


밖에 비가 많이 오는데 비 피해는 없으신지요?


다름이 아니라 제가 동문회 홈페이지를 만드는 과정에서 


싸이월드 미니홈피에 있는 선배님들의 사진을 동문회 홈페이지로 퍼오면 좋겠다는 아이디어가 떠올랐고

(정확히 말씀드리면 미니홈피를 동아리 홈페이지 및 갤러리로 사용한 경우도 포함합니다)


이에 대해 동의를 구한 선배님들의 미니홈피에 한하여 이미지를 스크레이핑하게 되었네요 ^^



그래서 이미지를 파이썬이나 PHP로 스크레이핑 하려고 했는데 난관에 부딪혔네요 ㅠㅠ


공인인 박주영 선수의 미니홈피를 예를 들어서 설명드릴게요.


https://cy.cyworld.com/home/25270125


하단에 있는 '더보기'를 클릭하면 크롬 개발자도구에서 다음과 같은 XHR 내역을 확인할 수 있더군요.





https://cy.cyworld.com/home/25270125/posts?folderid=&tagname=&lastid=42BED574D40003032EDA6401&lastdate=1119802740166&listsize=20&homeId=25270125&airepageno=0&airecase=D&airelastdate=&searchType=R&search=&_=1564156791808



그런데 이걸 새 탭에서 열어서 내용을 확인하려고 하면 페이지를 찾을 수 없다는 에러메시지 창이 뜨더군요 ㅠㅠ


뭔가 의심이 되는 파라미터를 변경하기 위해 airepageno의 값을 더 큰 수로 입력을 해도 마찬가지로 에러가 뜨네요.


제 생각에 일단 리퍼러의 문제는 아닌 것 같은데요.



이 부분에서 막혀서 진척이 없는데 조금만 힌트를 주시면 감사하겠습니다!


github에는 싸이월드 클럽에 대한 크롤러만 있고, 미니홈피에 대한 크롤러는 없네요 ㅠㅠ


물론 selenium을 사용하면 스크레이핑이 가능하겠지만 퍼올 이미지는 많은데 속도가 어마무시하게 느려질 것 같아서요 ㅜㅜ


그럼 편안한 밤 되시고 즐거운 주말 되세요 ^-^


스포어 회원님들께 항상 감사드립니다!


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

Make StudyForUs Great Again!

 

CSVpuymXAAAVVpd.jpg

댓글 3

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

테스트를 해보니 이 경우는 약간 특이한 케이스로 보이네요 ㅋㅋㅋㅋ


보통은 Referer 쪽만 조작하거나 쿠키 쪽을 업데이트해주면 제대로 동작하는데 이 경우에는 Accept 부분으로 체크하는 것으로 보입니다.


아래는 파이썬 스크립트입니다.


import requests

url = 'https://cy.cyworld.com/home/25270125/posts?listsize=20&homeId=25270125&searchType=&search=&_=1564226370813'
req = requests.get(url, headers={'Accept': 'application/json, text/javascript, */*; q=0.01'}, verify=False)

print(req.content.decode())



간단하게 필요한 부분만 적었습니다.


URL로 직접 접속했을 때는 Accept 부분이 text/html 로 되기 때문에 이를 통해서 걸러낸다고 보시면 됩니다.

comment menu
2019.07.27. 20:29

신고

"humit님의 댓글"

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

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

참고로 verify 부분의 경우 제 네트워크 설정 때문에 그런지 모르겠지만 SSL 에러가 발생해서 임시로 False로 설정해놓았습니다.

일단 해당 부분을 없이 했을 때 오류가 발생하지 않는다면 그대로 사용하시면 되고, 에러가 발생하면 False로 설정하면 되겠습니다.

comment menu
2019.07.27. 20:31

신고

"humit님의 댓글"

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

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

바쁘신데 정말 감사합니다!

제가 초보라서 그런지 Accept를 체크하는 경우는 처음 보네요 ㅎㄷㄷ

역시 이건 저 혼자 끙끙거리며 고민한다고 해결할 수 있는 문제가 아니었군요!

스포어에 여쭤보길 잘 했네요 ^^

말씀하신 SSL 에러와 관련해서 verify 옵션을 True로 설정하면 에러가 발생하고

False로 설정하면 Unverified HTTPS requests와 관련된 Insecure request warning이 뜨긴 하지만 다행히 크롤링은 되네요!

 

humit 님 덕분에 웹과 스크레이핑에 대해 많이 배우네요 ^^

저번에 말씀해주신 Dropbox API와 관련된 팁도 이번주에 이것저것 다뤄보면서 공부했네요.

피상적인 수준에서 배우고 있지만 컴퓨터 공학은 제 전공분야보다 훨씬 심오한 세계인 것 같아요 ㄷㄷ

그럼 humit 님께서도 비 조심하시고 즐거운 주말 되세요!

항상 감사드립니다!!

comment menu
2019.07.27. 21:44

신고

"이니스프리님의 댓글"

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

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 [작업 완료] 설 명절 맞이 서버 업데이트 안내 3 마스터 24.02.11.17:21 738
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 23.01.14.02:23 4408
공지 [필독] 질문하는 방법 17 마스터 18.02.23.03:09 4475
925 계속 사용중이던 네트워크 공유 폴더가 갑자기 액세스 불가라고 뜹니다. 6 image 장윤서 18.06.07.16:55 34342
924 팀뷰어 대체할 원격 제어 프로그램 추천 부탁드립니다 16 이니스프리 17.11.30.15:38 32326
923 엑셀 그래프의 축 간격 조절 문제입니다. 2 image 국내산라이츄 17.08.10.11:06 12495
922 아이폰/아이패드 충전기 발열 관련 질문 드립니다 9 image 이니스프리 19.05.02.22:52 11111
921 PyQt 실행시 프리징 현상 관련하여 질문 드립니다! ㅠㅠ 3 이니스프리 19.07.06.03:37 6707
920 에러 523 해결법 4 입체그림 20.02.21.16:48 6705
919 프린터가 지 맘대로 프린트를 하네요. 3 곰도리푸 18.04.04.18:20 6062
918 윈도우용 메일 클라이언트가 필요합니다. 9 네모 18.01.11.20:15 5867
917 크롬에서 특정 사이트 접속 문제 관련하여 질문 드립니다 9 이니스프리 17.03.27.18:03 5325
916 오라클 클라우드 프리티어 가입이 안 되네요 ㅠㅠ 20 이니스프리 20.06.26.21:31 4843
915 파이썬 에디터로 어떤 것이 좋나요? 14 NoYeah 20.01.08.21:08 4534
914 라떼판다와 라즈베리 파이 중 어느 쪽을 사는 게 나을까요? 9 제르엘 18.10.14.19:25 3836
913 나무 위키의 수익구조는 무엇일까요? 2 NoYeah 18.03.18.15:56 3835
912 파티션 복구 프로그램 TestDisk 잘 아시는 분 계시나요? 29 이니스프리 17.11.10.14:53 3748
911 IE11에서 이미지가 깨지는 현상을 해결할 수 있을까요? 2 이니스프리 19.08.02.00:01 3705
910 파일질라로 연결하니까 보안되지 않은 서버입니다. TLS를 통한 FTP를 지원하지 않습니다. 이렇게떠요 해결방안좀 1 마카오 16.09.11.00:57 3657
909 자바스크립트 FormData와 관련된 메서드의 IE 호환성과 관련하여 질문 드립니다 ^^ 6 image 이니스프리 19.08.05.14:22 3433
908 선택약정 안 되는 중고폰의 경우에는 어떤 단점이 있는 것인가요?? 6 이니스프리 20.01.21.14:30 3103
907 [Requests] multipart/form-data의 전송에 대해 질문 드립니다 ^^ 4 이니스프리 19.12.18.22:00 2991
906 집에서 시놀로지 NAS로 워드프레스나 미디어위키 돌리면 느릴까요? 10 이니스프리 17.01.16.20:56 2982