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

 

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

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

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

일도 있다고 한다.

 

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

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

 

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

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

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

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

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

 

 

 

이번에는 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

많고 많은 프로그래밍 언어 중 파이썬을 선택하며, 배워나가야 할 방향을 결정했다.

일단 따라해보는 거다.

많은 예제를 보고 고수가 말한대로, 시연해준대로 그대로 따라해보며 하나하나 깨우쳐나가는게 맞다고 생각했다.

 

자격증 시험공부를 할 때 과년도 기출문제를 먼저보고 이론을 보는 것과

이론을 보고 기출문제를 보는 것은 큰차이가 있다고 생각한다.

 

파이썬이 물론 유저 친화적인 언어임에는 분명하나, 명령어들을 공부하듯이 외워봤자 정작 프로그램에 응용하는 것은 별개의 문제이기에

무작정 따라해보고 필요하면 관련 내용을 찾아보기로 생각했다. 

 

동영상이나 웹사이트를 보고 공부하는 것이 불편하거나, 그와는 별개로 바이블이 필요하다면 기초 참고서가 필요하다면

WikiDocs에서 관련 책자를 구매할 수 있으니 참고하도록 하자.

 

 

관련된 자료들을 앉은자리에서 손쉽게 접근할 수 있어서 여러모로 유용한 사이트이다. 

 

인터넷에 jump2phthon pdf 등의 검색어를 사용하여 접근해봤자 오래된 버전의 pdf파일만 돌아다니니 현재의 버전과 맞지 않거나

그곳의 예제를 사용해도 작동되지 않는 경우가 허다하니 공식사이트의 자료를 참고하도록 하자.

 

 

 

예시로 점프투파이썬을 클릭하였을 때 나오는 화면이다.

 

실제 구매하는 책의 내용을 그대로 무료로 볼 수 있으니 참고하도록 하자. 물론 구매를 하면 저자에게 도움이 된다는 것은 잘알고 있으리라 생각한다.

 


 

 

 

 

첫 과제는 크롤링이다.

 

크롤링의 정의는 다음과 같다.

 

크롤링(crawling) 혹은 스크레이핑(scraping)은 웹 페이지를 그대로 가져와서 거기서 데이터를 추출해 내는 행위다. 크롤링하는 소프트웨어는 크롤러(crawler)라고 부른다. - 출처 : 나무위키

 

정확하게는 스크레이핑이 되겠다.

 

기본적으로 해당과제를 수행하기 위해서는 포털사이트의 구조를 알아야 하기에 html 자바스크립트 등의 정보도 알아야겠지만, 

그런거 필요없이 무작정 따라하기부터 해보며 이해가 안되서 필요한 것들이 생기면 틈틈히 공부를 하는게 시간을 줄이고 효율적인

학습이 될것이라 생각한다.

 

 

우선가장 먼저해야할 것은 폴더 설정이다.

 

 

visual studio code 를 실행하여 폴더열기를 누른 후 임의의 폴더를 지정한다.

 

 

"DAY1"이라는 이름을 가진 폴더를 지정했다.

 

 

 

다음은 터미널을 열어서 python -venv 이름을 입력한다.

필자는 levelup이라는 이름을 설정하여 python -m venv leveluo 을 입력하였다.

 

 

해당내용을 입력 후 약간의 시간이 지나면

 

설정했던 폴더 아래에 지정한이름의 가상환경이 설정된 것을 볼 수 있다.

 

 

다음은 터미널로 이동하여 설정한 폴더로 이동하도록 한다.

명령어는 cd 이름\scripts 이며 엔터를 친 후 activate를 입력하도록 한다.

\표시는 역슬러쉬를 말한다.

 

여기서 바로 실행이 되는 사람이 있을 것이고 

이런 밑도 끝도 없는 글이 뜨는 사람이 있을 것이다.

 

이는 powershell이 기본겂으로 설정되어 있어 발생하는 오류이니 아래와 같이 따라해보도록 하자

 

1. Ctrl + Shift + P

2. Terminal: Select Default Shell

3. command prompt

4. Ctrl + Shift + `

 

그런다음 다시 위의 내용인

폴더이동과 activate를 입력한다.

 

정상적으로 작업이 수행되었다면 디렉토리 위치 앞에 (이름)이 붙게된다.

 

이상태에서 셀레니움을 설치해주도록 하자

설치하는 방법은 명령어 입력으로  pip install selenium 이다.

 

그리고 기다리면 설치가 알아서 완료된다.

 

 

 

다음 할일은 크롬드라이버를 설치하는 것이다. 

 

https://chromedriver.chromium.org/downloads 해당페이지에서 자신의 크롬브라우저 버전에 맞는 드라이버를 설치하도록 하자.

본인의 크롬브라우저 버전을 모른다면 우측상단에서 확인할 수 있으니 이미지파일을 참고하도록 하자.

 

 

필자는 87버전이므로 해당 버전을 선택하여 윈도우용으로 다운로드 받았다.

버전정보는 모든 숫자가 일치해야 하는 것이아니라 앞에 있는 두숫자만 일치하면 된다.

 

 

 

다운로드가 완료되었다면 해당 프로그램파일을 바로 드래그앤 드랍하여 내가 설정한 폴더로 넣어주도록 하자

실제로는 압축을 풀어서 드래그앤드랍하여야 한다. 압축파일상태로 넣으면 오류가 나니 참고하도록 하자.

 

정상적으로 이동을 하였다면 아래의 그림과 같이 크롬드라이버가 추가되어있는 모습을 볼 수 있다.

 

이 후 뉴파일 버튼을 클릭하여 Google.py라는 파일을 생성하도록 하자.

 

만들어진 google.py에 셀레니움 파일의 예제를 입력해보도록 한다.

참고로 해당내용은 셀레니움 공식홈페이지에서 가져온 예제에서 변경한것이니 참고하도록 하자.

2. Getting Started — Selenium Python Bindings 2 documentation (selenium-python.readthedocs.io)

from selenium import webdriver

from selenium.webdriver.common.keys import Keys

 

driver = webdriver.Chrome()

driver.get("http://www.google.com")

 

위와 같이 입력하고 우측상단의 실행버튼을 눌러보면 구글 홈페이지가 크롬으로 실행되는 것을 확인할 수 있다.

 

 

이제 본격적인 코딩을 해볼 준비가 끝났다.

생각보다 따라하는건 쉽지만 정리하는 것은 시간이 오래 걸리는 것 같다.

 

열심히하자.

 

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

파이썬 - 크롤링 2  (0) 2021.01.12
파이썬에 입문하며  (0) 2021.01.07


서론


새해가 되면 매번 다짐을 하는 것들이 있다. 

담배를 끊어야지, 공부를 해야지, 자격증을 따야지, 여행을 가야지 등


최소한 새해에 다짐을 하는 사람은 본인의 환경에서 더 나아질 수 있는 방법을

스스로 알고 있는 사람이라고 생각한다.


하지만 작심삼일이라고 떠올리는 것과 실행하는 것, 또한 유지하는 것은 별개의 문제다.


성인이 된 이 후 가장 큰 변화라고하면 역시나 자유와 책임이 함께 온다는 것이다.

자유에는 책임이 따른다는 명언을 인용하고 싶은것이 아니다. 


학생때는 스스로 생각하지 않아도 과제가 주어지고 그 과제를 얼마나 달성했는지를

주변에서 점검해주고 끊임없이 깨우쳐준다.


하지만 성인이 된 이후에는 과제를 내주지도, 그것을 확인하지도 않는다.

대학공부와 학교 공부가 다르게 느껴지는 이유라고 생각한다.


그렇기에 스스로 목표를 세우고 실행하는 것도 중요하지만 점검이 더 중요하다고 생각한다.

원하는 목표가 있다면 목표를 구체화하고 단계별로 게임퀘스트를 클리어 해나가듯이 매일 매주 월별로 점검하는 것이 필요하다.


파이썬을 시작하는 것 또한 개인의 목표가 있기 때문이다.


기초적인 개념이나, 프로그램언어에 대한 사전지식은 없다. 

아무것도 모르지만, 조금만 검색해봐도 충분히 기초지식을 습득할 수 있을 것이라 판단되었고

준비해야할 과정들도 어느정도는 구체화시켜두었다.


본업이 있기에 한번에 많은 양을 하기는 어렵겠지만, 자격증 공부가 아닌 프로그래밍언어를 공부하는 것이라

외워야할 것보다는 많은 유튜버, 강사 등의 코딩과정을 따라서 해보는 실습이 위주가 될 것이고

어느정도 익숙해지면 응용하여 원하는 프로그램을 짜보는 게 목표다.


외부에 보여주기 위한 목적보다는 그날 배운 것을 그날 정리하는 용도로 포스팅을 할 예정이지만

그래도 같은 목표를 가지고 시작하는 사람이 있다면 언제가 되었든간에 도움이 될 수 있으면 좋겠다.





파이썬을 위해 준비해야 할 것들


가장 먼저 프로그램을 받아야 한다.


파이썬은 공식홈페이지인 HTTPS://WWW.PYTHON.ORG 에서 받을 수 있다.


다운로드탭에서 받을 수 있다. 무료로 배포되며, 유의할 점은 윈도우 7버전과 그 이전버전에서는 사용할 수 없다는 점이다.

만약 윈도우가 아닌 다른 운영체제를 사용한다면 아래의 View the full list of downloads.를 선택하여 해당 운영체제에 맞는 파이썬을 받도록 하자.


또한 추가로 설치해야할 프로그램이 있는데, Visual studio code란 프로그램이다.


다운로드는 역시 공식홈페이지인 https://code.visualstudio.com 에서 할 수 있다.






대문짝만하게 다운로드 받을 수 있는 버튼이 표시되어 있으니 감사히 받도록 하자.




정상적인 설치를 끝냈다면 마무리하도록 하자.



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

파이썬 - 크롤링 2  (0) 2021.01.12
첫번째는 크롤링  (0) 2021.01.08

+ Recent posts