반응형
오늘은 파이썬 selenium 를 이용하여 데이터를 크롤링 하고 그 크롤링한 값을 가지고 엑셀에다가 저장하는 방법에 대해서 알려드리겠습니다.
서론은 이만하고, 본론으로 들어가죠.
1. 필요한 라이브러리 설치
셀레니움을 설치하는 방법은
https://game1ife-pnut.tistory.com/30
파이썬 셀레니움을 활용하여 구글 이미지를 다운 받아보자! [ 소스코드 포함 ]
저는 게임과 일상 블로그를 올리지만, 어느날 관상 테스트를 만들고 싶다고 생각하여, 제 소스 노트겸, 여러분들께 정보를 공유해드리겠습니다. 만약 이 귀찮은 과정을 보고 싶지 않다면은 11.
game1ife-pnut.tistory.com
이 곳에 나와있으니 참조 바랍니다! (4번까지만 보면 될거 같군요.)
pip install openpyxl
2. 라이브러리 import 하기
from selenium import webdriver # 셀레니움 관련 코드
from selenium.webdriver.common.keys import Keys # 셀레니움 관련 코드
import time # 잠시 쿨타임 지정 할 때 쓴다.
import openpyxl # 엑셀관련 라이브러리
3. 엑셀 데이터 만들기
wb = openpyxl.Workbook() # workbook 을 생성하고
sheet = wb.active # 그것을 활성화 시켜준다.
sheet.append(["a", "b"]) # 엑셀의 그 줄을 가지고 a 와 b 를 추가한다.
sheet.append 는 대괄호를 묶으셔야 하는데, 대괄호를 안쓰시면은 오류가 터집니다. 주의해주세요.
4. 웹 크롤링 하기
driver = webdriver.Chrome()
# ... 크롤링할 데이터 추출 ....
sheet.append([원하는 데이터값1, 원하는 데이터값2])
5. 엑셀 저장하기
wb.save("파일명.xlsx") # 이 파일명을 다른것으로 바꿔 주셔도 됩니다.
6. 1~5번 을 합쳐서 예문 보기 ( 해커스 토익 시험날에 나왔던 기출문제를 예시로 )
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
import openpyxl
wb = openpyxl.Workbook()
sheet = wb.active
sheet.append(["영어", "뜻"])
driver = webdriver.Chrome()
for i in range(635):
i = i + 1
i = str(i)
driver.get("https://www.hackers.co.kr/?r=hackers&m=contents&front=toeicword&p=" + i)
time.sleep(1)
try:
for a in range(25):
a = a + 1
a = str(a)
eng = driver.find_element_by_xpath('//*[@id="container"]/div[3]/div/div[2]/div[2]/div[2]/ul/li[' + a + ']/span[1]').text
kor = driver.find_element_by_xpath('//*[@id="container"]/div[3]/div/div[2]/div[2]/div[2]/ul/li[' + a + ']/span[2]').text
sheet.append([eng, kor])
except:
pass
wb.save("영어.xlsx")
제가 필요해서 쓴 구문을 예시로 보여드리겠습니다. 혹시 이해가 안가시는 부분이 있다면은 댓글을 남겨주세요!
오늘도 긴글 봐주셔서 감사합니다!

반응형
'컴퓨터를 알아보자! > 파이썬을 이용한 작품 모음집' 카테고리의 다른 글
SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED 해결법 (0) | 2022.05.22 |
---|---|
pyautogui를 이용한 파이썬 무한 클릭 매크로 만들기 (0) | 2021.11.15 |
파이썬 셀레니움을 활용하여 구글 이미지를 다운 받아보자! [ 소스코드 포함 ] (0) | 2021.11.07 |
댓글