처음 셀레니움을 선택하게된건 순전히 구글 때문이다.

 

다른 웹사이트도 마찬가지이지만, 정보만 쏙 빼가는 프로그램을 그리 좋아하지 않는다.

즉 프로그램을 제작해도 단순해서는 금방 막히기 쉽다는 단점이 있기 때문이다.

빠른 시간 내 접속하여 필요정보는 긁어가는 일을 반복하면 해당 아이피를 차단해버리는

일도 있다고 한다.

 

유튜버 노마드 코더님이 보여준 인스타그램 자동팔로워늘리기 프로그램에서도 빠른시간 내에 반복작업을 수행하니

금방 블록되는 것을 확인할 수 있었다.

 

셀레니움을 이용하면 동작은 비록 더 느리지만 왠만해서는 막힐일이 없다는 것이 장점이 되겠다.

웹브라우저를 설치하여 마치 유저가 하는 것마냥 마우스를 움직여 클릭해주는 방식으로 동작을 한다.

물론 막으려고하면 얼마든지 막을 수는 있겠지만 말이다.

필자는 한예슬배우님을 참 좋아한다.

그래서 처음 유튜버 조코딩(완성된 소스는 옆 링크를 클릭하여 확인하도록 하자) 님께서 강의하신 셀레니움을 이용해 구글의 이미지를 크롤링하는 방법을 따라해보고 실습해보는 것으로 가닥을 잡았으나, 완성을 해본 뒤 이를 응용하여 포털사이트의 뉴스 헤드라인을 긁어보는 방법을 실습해야 겠다는 생각이 들었다. (절대 강의 내용 정리가 귀찮아서 그런건 아니다.)

 

 

 

이번에는 beautifulsoup4를 설치하여 실시한다.

 

pip install BeautifulSoup4 를 터미널에 입력한다

설치가 완료되었다면 bs4를 사용하기 위한 기본입력을 한다.

from urllib.request import urlopen

from bs4 import BeautifulSoup

 

그리고 필요한 정보를 가져올 사이트 주소를 입력한다. 

 

html = urlopen("https://news.naver.com/")

 

 

그 후 어떤정보를 가져와야 할지 해당 페이지로 이동하여 알아보자.

 

해당페이지에서 F12번을 눌러주면 홈페이지의 소스코드를 볼 수 있다.

 

 

 

거기서 마우스 모양을 눌러준 후 클래스를 알고 싶은 데이터를 클릭하여 보자.

 

바로 유튜브에서 코드를 찾아 확인해본다.

이대로 돌리면되겠지 싶었는데 오류가 발생했다. 

쏼라쏼라 뭔지는 몰라도 내가 작성한 코드의 4번째줄 즉 urlopen이 안되는 것을 알 수 있다.

결국 네이버에서 크롤링을 막아둔 것으로 봐야하는것 같다.

어떻게 확인을 하냐면, 다른 사이트를 입력해보면 된다. 주소만 news.daum.net으로 변경해보니

즉시 동작하는 것을 알 수 있다.

 

정상적으로 동작은 하지만, 다른 텍스트 파일을 같이 읽어오기 때문에 원하는 정보만 뽑는 방법을 찾아본다.

 

 

 

우선은 개발자도구에서 뉴스기사에 들어가는 클래스를 확인해보자. 

 

공통적으로 link_txt라는 클래스를 사용하고 있다.

 

이에 위와같은 코드를 작성하고 실행시켜본다.

위와 같이 실행하려면 requests도 설치해야 한다. 터미널에서 pip install requests를 실행시키자.

 

군더더기 없이 헤드라인만 뽑아오는 것을 알 수 있다.

 

 

'파이썬 공부' 카테고리의 다른 글

첫번째는 크롤링  (0) 2021.01.08
파이썬에 입문하며  (0) 2021.01.07

+ Recent posts