홍준혁

파이썬 웹 크롤링 본문

웹 크롤링

파이썬 웹 크롤링

홍준혁 [Hong-JunHyeok] 2021. 1. 31. 10:23
728x90

오늘은 파이썬에서 웹 크롤링을 하는 방

법을 알아보도록 하자.

 

먼저 pip install로 아름다운 비누 4를 깔아주도록 하자!

 

그리고 requests 라는 패키지도 다운로드하여 주도록 하자.

pip list를 해보면 

 

잘 받아진걸 확인한 후, 

 

다운로드한 패키지에서 urlopen라는 함수와 BeautifulSoup라는 함수를 가져와서 사용해보도록 하자

 

이제 urlopen이라는 함수에 접속할 주소 값을 넣고, 변수에 담는다.

이제 이 정보를 html문서로 변환하는 과정을 거쳐야 하는데, 이때 아름다운 비누를 사용하는 것이다.

 

그렇게 bsObject에는 네이버의 html정보가 다 담겨있다.

그다음, 이 bsObject를 출력해보면,

 

이거는 빙산의 일각이고, 더 많다. 하지만 우리가 '크롤링'을 하기 위해서는 특정 정보만을 요구하게 되는데,

 

이렇게 하면, html정보에 title이라는 Element를 탐색하게 되고 결괏값으로는

 

이렇게 정상적으로 접근을 하였다.

 

일단 난 네이버에서 실시간 급상승 검색어에 접근하고 싶다.

 

 

그러려 먼 간단한 설정을 해주어야 하는데... 이유는 네이버에서 크롤링을 막았다고 해야 하나...? 아무튼 위의 방법대로 접근을 해보면 빈 배열만 나오고 크롤링이 안되기 때문에, 

 

네이버에 데이터랩에서

 

따로 가지고 오는 방법을 사용해야 한다!

그리고 크롤링 방지되는 이유 중에 하나가 유저임을 확인해줘야 하는데, headers부분에서 유저를 인증해주고 있다.

 

그렇게 해서 실행해보면

 

잘 크롤링이 된 모습을 볼 수 있다.

이제 받아온 정보를 쉽게 알 수 있도록 해주는 작업을 해주자.

 

각 요소를 item이라 하고 각 아이템에 get_text()를 해주게 되면, 요소의 text값이 반환되어서 출력되는 모습을 확인할 수 있다.

 

그럼 이만 뿅

728x90
Comments