web crawler 고군분투기

Post on 20-Feb-2017

274 Views

Category:

Environment

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Web Crawler 고군분투기

@sangjun

# 고군분투준비

Kodevelopers

#고군분투기

# 고군분투종료

크롤러란 ?

창과방패의싸움

결말

Slack : @sangjunFacebook : richellin7Github : richellin7Email : richellin7@gmail.com

Like : ㅅ .ㅜ .ㄹ ...

일본에서일하는한국인개발자모임 (Kodevelopers) 관리자https://www.facebook.com/groups/1726012127643525/?fref=ts

# 고군분투준비크롤러란 ?

크롤러 (Crawler)

크롤링 (Crawling)

스크랩핑 (Scraping)

크롤러 (Crawler)란 ?

크롤러 = 스파이더 = 로봇 = 봇 크롤러란웹상의문서나이미지를주기적으로 습득해서자동으로 필요한정보를

데이터베이스화하는프로그램

크롤러 (Crawler)란 ? 대표적인크롤러

Googlebot( Google)bingbot(영어판)(마이크로소프트・

bing)Baiduspider(바이두)Yetibot(네이버)

크롤링 (Crawling)이란 ?

크롤러가웹사이트로부터 HTML 이나 임의의 정보를습득 하는기술 또는행위

스크랩핑 (Scraping)이란 ?

습득한 HTML 에서임의의 정보를추출 하는기술또는행위

간단하게정의하자면 ...

크롤러 = 크롤링 + 스크랩핑

크롤러가웹상의무엇을 찾으러떠났죠 ?

원피스

= 필요한정보

출발 !

잠깐 !

동료는 ?

프로토콜(HTTP,HTTPS)

Headless(GUI없는 )

Browser

Full Browser(full 렌더링 )

curl(libcurl)

mechanizeurllib2

httplib2requests

PhantomJSHtmlUnitTrifleJS

Zombie.jsENVJSimerJS

ChromeSafariFirefox

프로토콜(HTTP,HTTPS)

Headless(GUI없는 )Browser

Full Browser(full 렌더링 )

부하높음

부하낮음

유저화면 (랜더링 ) 일치율높음

유저화면 (랜더링 ) 일치율낮음

렌더링

프로토콜(HTTP,HTTPS)

Headless(GUI없는 )Browser

Full Browser(full 렌더링 )

HTML,Cookie 습득

HTML 해석

통신

자바스크립트해석

그리기

#고군분투기 창과방패의

싸움

네이버의인기검색어를 습득한다고가정해봅시다 .

방패창

크롤러

스크랩핑크롤링

방패창 정보가져갈게 ! VS ㄴㄴ시른데

Round 1- Header -

VS 크롤링시작 !User-Agent : X

User-Agent : 없는얘들은다 거부ㅂㅂ

VS

User-Agent : Chrome 어떻냐 ?

하핫

오 ? 위장했다 이거지그럼

Cookie다 !

VSCookie :buid:bjU6/wo...

옴마야 ? Cookie 까지 동작그만 . 밑장빼기냐 ?

VS

Header 싸움은시작되었다 .Referer

HostAccept

Accept-EncodingAccept-Language

Round 1창 의승리

Round 2- Javascript -

VSJavascript

분석및해석 ... ( …힘들다 )

자바스크립트로DOM 조작

웹의발전과함께 ...

Javascript 춘추전국시대

VS

....(뷰 ..뷰 ..뷰티 ..)

OTL

널더고통스럽게 .. 넌 M 이고난 S 야

( 자바스크립트 + 난독화 + AJAX +

Token)

VS

마이묵었다 아이가그만해라 .

렌더링된 결과값만받을래 ..

(Headless)

어 ...어 ...어 ...

IP차단

VSIP우회 리퀘스트수제한

Round 2창 의승리

( 살을내주고뼈를취함 )

Round 3 사람과컴퓨터구분

VS…?? 뼈를주고살을취하겠다 .

VSGG 뼈를주고살을취하겠다 .

Round 3방패 의승리

( 살을내주고뼈를취함 )

# 고군분투종료결말

최종승리는방패

하지만 !?

AI 에의해현방패는언젠가뚫립니다 .

싸움을멈추는방법은 ?

OPEN API

싫으면 !?

싸움은계속된다 .To be Continued

감사합니다 .

top related