대량의 네이버 택배 조회 가 필요하신가요? 네이버 택배는 다양한 택배사 조회를 한곳에서 제공하는 장점이 있습니다. 하지만 하나씩 조회를 해야만 하는 번거러움이 있습니다. 대량의 택배 조회를 일괄 처리하여, 정확한 배송 상태를 확인하는 방법을 알려드립니다.
네이버 택배 조회 자동화 미리보기
오늘 만들어볼 네이버 택배 조회 자동화 기능은 엑셀 양식에 택배사, 운송장 번호를 입력하고, 파이썬 프로그램을 실행하면, 파이썬 프로그램이 크롬 브라우저를 실행하여, 엑셀 양식에 있는 택배사, 운송장 번호를 읽어서, 택배 조회 결과를 업데이트 합니다. 작업이 종료된 후, 엑셀 양식을 열어보면 모든 배송 조회 결과를 한번에 확인할 수 있습니다.
동영상으로 미리보기
오늘 만들어볼 택배 운송장 조회 자동화 기능은 아래의 동영상으로 미리 보실 수 있습니다. 더 빠르게 처리할 수 있지만, 설명을 위해서 지연 시간을 추가하였습니다.
네이버 운송장 조회 서비스
네이버 운송장 조회 서비스는 사용자에게 배송 상태 확인의 편의성을 제공합니다. 다양한 택배사의 조회를 한 곳에서 지원하여 사용자는 택배사 웹사이트를 일일이 방문하지 않고도 배송 상태를 확인할 수 있습니다. 하지만, 네이버 운송장 조회 서비스는 대량의 택배 조회를 제공하지 않는 단점이 있습니다. 이를 극복하기 위해서는 파이썬과 같은 프로그래밍 언어를 활용하여 자동화된 조회 프로그램이 필요합니다.
파이썬 대량 택배 조회 기능
이제 파이썬으로 네이버 택배 조회의 단점을 개선할 수 있는 기능을 만들어 보겠습니다. 정해진 엑셀 양식에 택배사, 택배송장번호를 기재한 후, 파이썬 프로그램을 실행해서, 네이버 택배 조회 서비스를 이용하여, 배송시간, 현재 위치, 배송상태 값을 업데이트 합니다.
이 프로그램을 실행하면, 다음과 같이 엑셀 파일에서 입력한 운송장 번호의 조회 결과를 확인할 수 있습니다. 테스트를 위해서 몇 개의 운송장 번호는 존재하지 않는 것을 입력하였습니다. 실제로도 택배사에 아직 물품 접수가 되지 않았거나, 잘못된 운송장번호라면 조회 결과가 빈칸으로 표시됩니다.
파이썬 코드 설명
Selenium과 openpyxl 라이브러리를 설치하고, Chrome 웹드라이버를 다운로드 받아 경로를 설정합니다. 이렇게 준비를 마치면, 네이버 택배조회 서비스를 자동으로 이용할 수 있습니다.
코드를 실행하면 Chrome 웹드라이버가 열리고 네이버 홈페이지로 이동합니다. 검색창에 '택배조회'를 입력하고 엔터키를 누릅니다.
run_delivery_tracking 함수를 사용하여 택배사와 운송장 번호를 입력하고 조회 버튼을 클릭합니다. 그리고 조회 결과인 배송 처리 현황을 추출하여 반환합니다.
엑셀 파일을 열고 택배사와 운송장 번호를 확인하면서, run_delivery_tracking 함수를 실행하고 결과를 엑셀 파일에 업데이트합니다. 이렇게 하면 대량의 택배 조회를 한 번에 처리할 수 있습니다.
모든 행을 순회하며 택배 조회와 결과 업데이트를 실행한 후, 엑셀 파일을 저장하고 종료합니다. 이후 결과를 확인할 수 있습니다.
파이썬 코드
import openpyxl
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
# Chrome 웹드라이버 경로 설정
driver_path = "e:\\python\\chromedriver.exe"
# Chrome 웹드라이버 실행
driver = webdriver.Chrome(driver_path)
# 네이버 홈페이지 열기
driver.get("https://www.naver.com/")
# query 입력 필드 찾기
query_input = driver.find_element("id", "query")
# "택배조회" 입력
query_input.send_keys("택배조회")
# Enter 키 입력
query_input.submit()
def run_delivery_tracking(courier, tracking_number):
# 웹 페이지 로딩 대기
driver.implicitly_wait(1)
# 택배사 선택
select = Select(driver.find_element("class name", "_select"))
select.select_by_visible_text(courier)
# 운송장번호 입력
tracking_number_input = driver.find_element("id", "numb")
tracking_number_input.clear() # 기존 값 삭제
tracking_number_input.send_keys(tracking_number)
# 조회 버튼 클릭
search_button = driver.find_element("css selector", "input._submit")
search_button.click()
# 페이지의 HTML 코드 가져오기
html = driver.page_source
# 배송처리 현황 추출
delivery_time = ''
current_location = ''
delivery_status = ''
table_elements = driver.find_elements("css selector", "div.artb table")
if table_elements:
table = table_elements[0]
rows = table.find_elements("tag name", "tr")
for row in rows:
cells = row.find_elements("tag name", "td")
if len(cells) == 3:
if delivery_time == '':
delivery_time = cells[0].text
current_location = cells[1].text
delivery_status = cells[2].text
return delivery_time, current_location, delivery_status
# 엑셀 파일 열기
wb = openpyxl.load_workbook('대용량_택배운송장.xlsx')
# 시트 선택
sheet = wb['Sheet1']
# 행 순회하며 택배사, 운송장번호 확인, 택배조회 실행 등
for i, row in enumerate(sheet.iter_rows(min_row=2, values_only=True), start=2):
courier = row[0]
tracking_number = row[1]
# 택배조회 실행
val1, val2, val3 = run_delivery_tracking(courier, tracking_number)
# 컬럼 3, 4, 5 값 업데이트
sheet.cell(row=i, column=3, value=val1)
sheet.cell(row=i, column=4, value=val2)
sheet.cell(row=i, column=5, value=val3)
# 엑셀 파일 저장
wb.save('대용량_택배운송장.xlsx')
# 엑셀 파일 닫기
wb.close()
# 프로그램 종료할 때까지 대기
input("Press Enter to quit")
# 웹드라이버 종료
driver.quit()
|
결론
파이썬은 네이버 택배의 대량 조회를 자동화하는 데 유용한 도구입니다. 파이썬을 이용하면, 많은 시간과 노력을 절약하고, 정확한 배송 상태를 실시간으로 확인할 수 있습니다. 파이썬의 강력한 기능을 활용하여 효율적인 업무처리를 경험해보세요.
'chatgpt-python' 카테고리의 다른 글
챗GPT API를 활용한 대화형 인터페이스 구축: 번역 (0) | 2023.10.09 |
---|---|
네이버 뉴스 카테고리 스크래핑 코드 (0) | 2023.10.09 |
파이썬 웹 크롤링으로 네이버 뉴스 카테고리 추출하기 (0) | 2023.10.08 |
네이버 뉴스 API로 뉴스 데이터 접근하기 (0) | 2023.09.09 |