728x90
반응형
import selenium # 여기서는 약자를 붙이지 않았다.
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager
import time
service = Service(ChromeDriverManager().install())
options = Options()
options.add_argument("--start-maximized")
driver = webdriver.Chrome(service=service, options=options) # 우선 경로나 옵션을 넣으면 동작 하지 않음 (해결 안됨)
driver.maximize_window() # 창을 최고 사이즈로 함
driver.get('https://teht.hometax.go.kr/websquare/websquare.html?w2xPath=/ui/ab/a/a/UTEABAAA13.xml') # 국세청 사업자 등록 상태 조회
import pandas as pd
bn = pd.read_csv('사업자번호.csv')
print(bn)
# 셀레니움 클래스를 이용함.
from selenium.webdriver.common.by import By
tb_list = []
for i in range(len(bn)) :
time.sleep(4) # 검색 시간 필요
bn_num = bn.iloc[i]['사업자번호']
driver.find_element(By.XPATH, '//*[@id="bsno"]').send_keys(bn_num) # 사업자 번호 기입
driver.find_element(By.XPATH, '//*[@id="trigger5"]').click() # 조회하기
time.sleep(1) # 검색 시간 필요
tb = driver.find_element(By.XPATH, '//*[@id="grid2_body_tbody"]') # 데이터 객체로 가져오기
print(tb.text)
time.sleep(1)
tb_split = tb.text.split(" ")
tb_list = tb_list + [[tb_split[0], " ".join(tb_split[1:-1]), tb_split[-1]]]
print(tb_list)
time.sleep(1)
df = pd.DataFrame.from_records(tb_list, columns = ['사업자등록번호', '과세여부', '조회일'])
import xlwings as xw
xw.view(df)
728x90
반응형
'Program Language > Python' 카테고리의 다른 글
(python) 정부 입찰 공고 자료 수집 (0) | 2023.11.23 |
---|---|
(python) 셀레리움 에러 (0) | 2023.11.23 |
(python) selenium 이용하여 시청률 엑셀로 만들기 (1) | 2023.11.22 |
(python) pyautogui 기능들 (2) | 2023.11.22 |
(python) most likely due to a circular import 에러 (0) | 2023.11.22 |