Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Web Crawler 고군분투기

제 1차 고군분투기 - Web Crawler 고군분투기

-Kodevelopers-

  • Login to see the comments

Web Crawler 고군분투기

  1. 1. Web Crawler 고군분투기 @sangjun #고군분투 준비 Kodevelopers #고군분투기 #고군분투 종료 크롤러란? 창과 방패의 싸 움 결말
  2. 2. Slack : @sangjun Facebook : richellin7 Github : richellin7 Email : richellin7@gmail.com Like : ㅅ.ㅜ.ㄹ... 일본에서 일하는 한국인 개발자 모임(Kodevelopers) 관리자 https://www.facebook.com/groups/1726012127643525/?fref=ts
  3. 3. #고군분투 준비 크롤러란?
  4. 4. 크롤러(Crawler) 크롤링(Crawling) 스크랩핑(Scraping)
  5. 5. 크롤러(Crawler)란? 크롤러 = 스파이더 = 로봇 = 봇 크롤러란 웹상의 문서나 이미지를 주기적으로 습 득해서 자동으로 필요한 정보를 데이터베이스화 하는 프로그램
  6. 6. 크롤러(Crawler)란? 대표적인 크롤러 Googlebot(Google) bingbot(영어판)(마이크로소프트・ ng) Baiduspider(바이두) Yetibot(네이버)
  7. 7. 크롤링(Crawling)이란? 크롤러가 웹 사이트로 부터 HTML이나 임의의 정보를 습득하는 기술 또는 행위
  8. 8. 스크랩핑(Scraping)이란? 습득한 HTML에서 임의의 정보를 추출하는 기술 또는 행위
  9. 9. 간단 하게 정의 하자면...
  10. 10. 크롤러 = 크롤링 + 스크랩핑
  11. 11. 크롤러가 웹상의 무엇을 찾 으러 떠났죠?
  12. 12. 원피스
  13. 13. = 필요한 정보
  14. 14. 출발!
  15. 15. 잠깐!
  16. 16. 동료는?
  17. 17. 프로토콜 (HTTP,HTTPS) Headless(GUI없는) Browser Full Browser (full 렌더링) curl(libcurl) mechanize urllib2 httplib2 requests PhantomJS HtmlUnit TrifleJS Zombie.js ENVJS imerJS Chrome Safari Firefox
  18. 18. 프로토콜 (HTTP,HTTPS) Headless(GUI없는) Browser Full Browser (full 렌더링) 부하 높음 부하 낮음 유저 화면(랜더링) 일치율 높음 유저 화면(랜더링) 일치율 낮음
  19. 19. 렌더링 프로토콜 (HTTP,HTTPS) Headless(GUI없는) Browser Full Browser (full 렌더링) HTML,Cookie 습득 HTML 해석 통신 자바스크립트 해석 그리기
  20. 20. #고군분투기 창과 방패의 싸 움
  21. 21. 네이버의 인기 검색어를 습득 한다고 가정 해봅시다.
  22. 22. 방패창 크롤러 스크랩핑 크롤 링
  23. 23. 방패창정보 가져 갈 게! VS ㄴㄴ 시른데
  24. 24. Round 1 - Header -
  25. 25. VS 크롤링 시작! User-Agent : X User-Agent : 없 는 얘들은 다 거부 ㅂㅂ
  26. 26. VS User-Agent : Chrome 어떻냐? 하핫 오? 위장 했다 이 거지 그럼 Cookie 다!
  27. 27. VS Cookie : buid:bjU6/wo... 옴마야? Cookie까 지 동작 그만. 밑장 빼기냐?
  28. 28. VS
  29. 29. Header 싸움은 시작 되었다. Referer Host Accept Accept-Encoding Accept-Language …
  30. 30. Round 1 창의 승리
  31. 31. Round 2 - Javascript -
  32. 32. VS Javascript 분석 및 해석... (힘들다…) 자바 스크립트로 DOM 조작
  33. 33. 웹의 발전과 함께...
  34. 34. Javascript 춘추 전국 시대
  35. 35. VS ....(뷰..뷰..뷰티..) OTL 널 더 고통스럽게.. 넌 M이고 난 S야 (자바스크립트 + 난 독화 + AJAX + Token)
  36. 36. VS 마이 묵었다 아이 가 그만 해라. 렌더링된 결과값 만 받을 래..(Headless) 어...어...어... … IP차단
  37. 37. VSIP우회 리퀘스트수 제한
  38. 38. Round 2 창의 승리 (살을 내주고 뼈를 취함)
  39. 39. Round 3 사람과 컴퓨터 구분
  40. 40. VS…?? 뼈를 주고 살을 취 하겠다.
  41. 41. VSGG 뼈를 주고 살을 취 하겠다.
  42. 42. Round 3 방패의 승리 (살을 내주고 뼈를 취함)
  43. 43. #고군분투 종료 결말
  44. 44. 최종 승리는 방패
  45. 45. 하지만!?
  46. 46. AI에 의해 현방패는 언젠가 뚫립 니다.
  47. 47. 싸움을 멈추는 방법은? OPEN API
  48. 48. 싫으면!?
  49. 49. 싸움은 계속된다. To be Continued
  50. 50. 감사 합니다.

×