728x90

현재 웹 크롤링과 웹 스크래핑은 매우 중요하다고 할 수 있다.

그 이유는 데이터 사이언스와 머신러닝이 도래하면서 빅 데이터가 중요해졌다.

하지만 빅 데이터를 그냥 얻기는 좀 힘드므로... 어쩔 수 없이 인터넷에서 긁어오는 경우가 많다.

그리고 굳이 빅 데이터가 아니더라도 특정 서비스를 위해서 혹은 개인의 편리를 위해서 사용하는 경우가 많다.


웹 크롤링 - 웹 크롤러(자동화 봇)가 일정 규칙으로 웹페이지를 브라우징 하는 것


이를 보통 우리는 웹 크롤링이라고 부른다.

웹 스크래핑이라는 말은 쓰는 사람은 쓰고 안 쓰는 사람은 안쓰는 묘한 단어이다.


웹 스크래핑 - 웹 사이트 상에서 원하는 정보를 추출하는 기술


엄밀히 말하면 둘은 다르고 구분되어야 한다.

쉽게 말해서 웹 크롤링은 그냥 돌아만 다니는 거고 스크래핑은 긁어 오는 것이다.

그래서 우리가 보통 크롤링을 한다고 하는것은 사실은 스크래핑이라고 할 수 있다.


하지만 의미 없는 단어 논쟁은 안하는게 좋으므로 여기까지만 말하겠다.

어쨋든 우리는 웹 크롤링과 스크래핑에서 배울 것이며 특별한 일이 없다면 필자는 이 둘을 퉁쳐서 크롤링이라고 부르겠다.


아니 근데 왜 파이썬 씀?


크롤링이 파이썬만 가능한 것도 아니고 여러 언어에서 크롤링이 가능하다.

그리고 필자의 느낌상 파이썬이 극도로 유리하다 그런것도 모르겠다.

그냥 사용하기 쉬워서 그러는 걸까?


인터넷에 찾아봐도 외 파이썬이 크롤링으로 가장 유명한지는 이유를 찾지 못했다.

필자도... 사실 nodejs로 크롤링을 입문했기 때문에... 이유는 모르겠다.

이유를 아시는 분은 댓글로 남겨 주셨으면 좋겠다.


그럼 간단한 예제를 한번 보도록하자.


from urllib.request import urlopen

html = urlopen('http://pythonscraping.com/pages/page1.html')
print(html.read())

정말 간단한 예제다.

위의 사이트는 파이썬 크롤링을 위한 예제 사이트인데 필자가 만든건 아니고 파이썬 크롤링을 가르치는 곳에서 만든 토이 사이트이다.

위의 예제의 결과를 한번 보도록 하자.



해당 페이지의 html을 통째로 긁어온 것을 확인할 수 있다.


이런식으로 가져와서 페이지를 긁어서 작업할 수 있다는 걸 여러분은 알 수 있다.


...


왠지 이정도만 할려면 돌땡이 맞을 것 같은 느낌이 든다.


"아니 이걸 누가 몰라?"


그래서 다음 장에서 준비했다.

이제 해당 페이지를 가져왔을 때 그페이지에서 정보를 추출하는 작업에 대해서 알아보자.

+ Recent posts