본문 바로가기
Programming

파이썬으로 웹 크롤러 만들기 초급단계

by 하하호호 2020. 10. 20.
반응형

 

파이썬으로 웹 크롤러를 만들 수 있다. 

web은 기본적으로 html로 구성된 페이지의 집합체이며,

페이지별로 데이터, 이미지 파일이 중첩되어 있다.

 

클롤러는 웹상에 띄워져 있는 데이터와 이미지파일 등등의 자료들을

긁어 모으는 기술이며, 빅데이터와 머신러닝을 위한

아주 기본적인 프로그래밍 기술이다.

 

파이썬으로 웹크롤러를 만드는 과정은 다음과 같다.

.

.

.

1) web crawling을 위한 module과 library를 import 한다.

 

2) 사용자에게 크롤링할 정보를 입력받는다.

 ex) 크롤링할 건수 + 결과 파일을 저장할 폴더명 + 크롤링할 web site address

 

3) 크롤러로 웹 브라우저를 실행한다.

 - path에 크롬드라이버 execute 파일의 address를 지정해준다.

 - webdriver의 Chrome function을 실행한다.

 

4) 크롤링할 자료가 저장되어 있는 웹페이지를 찾아가는 과정을 프로그래밍한다.

 - 태그와 클래스가 지정되어 있는 element의 경우 driver.find_element_by_link_text("text").click()을 이용

 - 자바스크립트로 구성된 element의 경우 driver.find_element_by_xpath("text").click()을 이용한다.

 

5) 데이터를 긁어온다.

 html = driver.page_source

 soup = BeautifulSoup(html, 'html.parser')

 contents = soup.find('태그명', '클래스이름').get_text() || soup.find('태그명', class_= '클래스이름').get.text()

 print(contents)

 

6) 데이터를 저장한다.

 f = open(file_name, '모드 선택', encoding='utf-8') #한글의 경우

 f.write(str(contents))

 f.close()

 

7) 모든 과정이 끝났다. 저장된 파일을 open 하여 크롤링된 데이터의 품질을 검증하자.

 

 

 사실 웹 크롤링은 그리 어려운 기술이 아니다. 웹 상에서 떠도는 정보를 모으는데 아주 효율적이고

구글사에서 제공되는 seleniumBeautifulSoup 같은 강력한 툴을 이용할 수 있다. 구글도 초창기에는

페이지 랭크 기술을 만들어 웹상의 방대한 정보를 모으는 것 부터 시작한 회사다.

 

 중요한 것은 HTML로 구성된 웹 사이트에서 내가 필요로 하는 정보가 어디에 존재하는지 검색하는 일과

데이터를 품고 있는 TAG, CLASS를 정확하게 찾아오는 일이 핵심 포인트다. 

 

 요즘에는 빅데이터 기술이 고도화 되면서 데이터가 모여 지혜가 되고, 지혜가 모여 미래를 만들어가는 

세상이다. 인간의 능력이 기하급수적으로 발전하는 시대에 웹 크롤러 기술은 강력한 타이탄의 도구다.

 

반응형

댓글