카테고리 없음

파이썬 크롤링 파이썬 매크로 파이썬 독학 파이썬 으로 티켓팅

도꺠비 개발자 2022. 8. 26. 20:08
728x90

 

저번에 정적인 페이지를 파이썬이 requests를 사용해 크롤링 하는 방법을

알아보았는데요

 

사실 매크로나 티켓팅 파이썬을 이용하는 매크로 티켓팅 등 을 사용하려며 정적인

페이지를 가져온다면 그건 그냥 데이터 로써 가져오는 것입니다

 

 

오늘은 매크로라면 매크로인 파이썬 동적인 페이지를 스크 패링 클로닝 즉 데이터를

일일이 가져오지 않고, 매크로를 사용하여 동적인 페이지를 가져오는 방법을

알아보겠습니다.

 

 

먼저 가장 간단하게 구글 드라이버 설치 방법을 빠르게 설명하겠습니다

https://chromedriver.chromium.org/downloads

ChromeDriver - WebDriver for Chrome - Downloads

Current Releases If you are using Chrome version 105, please download ChromeDriver 105.0.5195.19 If you are using Chrome version 104, please download ChromeDriver 104.0.5112.79 If you are using Chrome version 103, please download ChromeDriver 103.0.5060.134 For older version of Chrome, please see

chromedriver.chromium.org

위에 링크를 들어가

3개 중 자신의 앞자리와 같은 드라이버를 다운로드 후에 알집을 C: 드라이브 밑에 푸시면 됩니다.!

 

 

처음에는 일단 python의 selenium 을 사용하는 방법을 오늘도 어김없이 라이브러리

를 다운로드해 줘야 합니다.

 

 

1. python 크롤링 매크로 준비 '라이브러리 다운로드 후에 selenium import'

( 아나콘다 또는 비주얼 스튜디오 cmd 밑에 명령어를 적어 라이브러리를 다운로드합니다 )

pip install selenium 을 적어 selenium 라이브 러너를 다운로드해줬다면 성공입니다

그 후 import selenium 을 하여 라이브러리를 import 해줍니다

( 방법이 변경되어 밑에 와 같이 해줍니다 라이브러리 설치까지는 동일합니다)

 

 

 

 

2. pyhon 을 이용해서 매크로 만들기

파이썬 셀레늄 라이브러리는 사실 책으로 하면 한 세 권 정도 나올 분량인데요

간단하게 예제와 필요한 메서드 들을 정리해놓겠습니다

그 후 보시고 편하시게 골라서 사용하셔서 매크로에 사용하셔도 되고 또는 크롤링

데이터 가져오기 등 여러 곳에 적용시키면 될 것 같습니다

 

 

from selenium import webdriver

from selenium.webdriver.common.keys import Keys

from selenium.webdriver.common.by import By

 

driver = webdriver.Chrome("C:/chromedriver.exe")

driver.get("https://www.naver.co.kr/")

assert "NAVER" in driver.title

elem = driver.find_element(By.NAME, "query")

elem.clear()

elem.send_keys("오늘의 날씨 ")

elem.send_keys(Keys.ENTER)

 

driver.get('http://daum.net')

daum = driver.find_element(By.ID,'q')

daum.send_keys('뭐를 검색할까요?')

daum.send_keys(Keys.ENTER)

driver.quit()

 

위에는 예제 코드입니다 어느 정도 이해하고 계시다면 복붙해서 사용하시면 됩니다

위에는 python으로 네이버에 들어가 네이버 검색창에 오늘의 날씨를 검색 후 daum으로 들어가 검색창에 뭐를 검색할까요?라고 적는 매크로입니다 아주 간단한

매크로인데요 하나하나 차근차근 유용한 메서드 들만 가져와 설명하겠습니다

 

1 .diver.get( ' 가져오고 싶은 사이트 ')

가져오고 싶은 사이트를 가져오는 것

 

2 .diver.find_element(By .'id&class&name&tag&xpath','태그 고유에 이름 적기')

가져오고 싶은 사이트에 버튼들을 선택하는 방법

( 여러 개를 선택하고 싶다면 find_elements([],[]) 형태로 줄 수 있고 또는 이름이 같은 것들을 여러 개 가져오고 싶다면 find_elements(By. 선택자,'가져오고 싶은 선택자 이름')

하면 반환값을 여러 개 리스트로 반환한다 )

 

3. 선택자 객체. Send_Key(하고 싶은 행동)

선택한 버튼 객체를 행동하게 하는 것 문자열을 보낼 수도 클릭을 하게 할 수도 엔터를 하게 하고 여러 가지 행동을 하게 하는 것

 

4.diver.quit()

모든 창을 닫는 메서드

 

5.alert = driver.switch_to.alert

팝업 상자 객체 만들고 난 후 alert 객체로 없애기 등 여러 가지 할 수 있다

 

6. click()

엔터가 아니라 클릭만 해야 할 때는 이렇게 선택 버튼 뒤에. 을 찍고 click만 해주면 된다

 

7 driver.close()

현재의 창만 닫아주는 것이다 4번은 드라이버가 킨 모든 창을 닫는 것이고 7번은 하나의 창만 다는 것이다

 

이렇게 가장 많이 사용되는 메서드들을 설명해 봤는데요 이 정도 말고 저도 거의 써본 적이 없어서 다 외우는 것은 그마저 미련한 짓이 없습니다..

 

python 라이브러리 중 매크로나 크롤링 할 때 가장 많이 수용되고 있는 라이브러리입니다

밑에 문서는 영어로 돼있지만 한글로 번역한다 해서 이상하고 어려운 단어는 나오지 않으니

또 다른 기능이 필요할 때마다 그때그때 와서 한번 보는 것 이 충분하다고 합니다

위에 7 개로도 충분하지만 다른 기능을 혹시 구현해할 때 사용할 수도 있으니 밑에 python

관련 매크로? 크롤링? 하는 셀레늄 라이브러리를 두고 가겠습니다

 

감사합니다!

 

https://selenium-python.readthedocs.io/api.html

7. WebDriver API — Selenium Python Bindings 2 documentation

webdriver . Firefox webdriver . FirefoxProfile webdriver . Chrome webdriver . ChromeOptions webdriver . Ie webdriver . Opera webdriver . PhantomJS webdriver . Remote webdriver . DesiredCapabilities webdriver . ActionChains webdriver . TouchActions webdriver . Proxy The special keys class ( Keys ) ca...

selenium-python.readthedocs.io

 

 

728x90