반응형
구글 플레이앱스토어에 가끔 버전을 새로 업데이트 해야할 때가 있다
이렇게만 놔두면 앱 실행시 다시 구글플레이스토어로 돌아가는 현상이 생긴다
이를 해결하기 위해서는
활성으로 바뀌고 나면 서버 안에서도 수정을 해줘야한다
mobilelogin.jsp 파일 \src\main\webapp\WEB-INF\jsp\mobile
반응형
구글 플레이앱스토어에 가끔 버전을 새로 업데이트 해야할 때가 있다
이렇게만 놔두면 앱 실행시 다시 구글플레이스토어로 돌아가는 현상이 생긴다
이를 해결하기 위해서는
활성으로 바뀌고 나면 서버 안에서도 수정을 해줘야한다
mobilelogin.jsp 파일 \src\main\webapp\WEB-INF\jsp\mobile
저번에 크롤링으로 찾아서 했지만
API를 사용하면 더 빠르게 처리할 수있다
GPT 만세
1. https://www.juso.go.kr/addrlink/main.do 여기서 api 신청을 받아야됨
2. 7천건을 돌리려 햇더니 400정도에서 그만 하라고 서버측 부하 과다를 막기 위해 막음
3. 많이 돌리려면 크롤링이 나은거같음
import requests
import json
def search_address(api_key, keyword):
url = "https://business.juso.go.kr/addrlink/addrLinkApiJsonp.do"
params = {
"currentPage": "1",
"countPerPage": "1",
"keyword": keyword,
"confmKey": api_key,
"resultType": "json",
"hstryYn" :"N",
"firstSort": "none",
"addInfoYn": "Y"
}
# JSONP 요청을 보내기 위해 callback 파라미터를 지정합니다.
params["callback"] = "callback"
response = requests.get(url, params=params)
# 응답을 JSONP 형식으로 받기 위해 callback 부분을 잘라냅니다.
jsonp_data = response.text[response.text.find("(") + 1:response.text.rfind(")")]
# JSON 형식으로 파싱합니다.
result = json.loads(jsonp_data)
if result.get("results"):
address_info = result["results"]["juso"][0]
return address_info
else:
return None
def main():
api_key = ""
keyword = "서귀포시 태평로 351"
address_info = search_address(api_key, keyword)
if address_info:
print("주소:", address_info["roadAddr"])
print("우편번호:", address_info["zipNo"])
print("동사무소:", address_info["hemdNm"])
else:
print("주소 검색에 실패했습니다.")
if __name__ == "__main__":
main()
우리나라 주소는 법정동과 행정동명 차이로
주소에 나와있는 동과 동사무소가 다른 경우가 있다
이 경우에는
https://www.juso.go.kr/openIndexPage.do
여기에 들어가서 찾을 수 있다
답십리 래미안 관련 업무는 답십리1동에서 보는 것을 알 수 있다
매월동은 서창동으로 가야된다
주소 하나면 바로 검색을 하면 되는데
여러개를 일일히 치는 것 보다
파이썬에서 엑셀을 읽어서 검색 후 해당 관할동사무소를 다시 엑셀에 저장하는 코드로
돌리는게 더 편할 것 같다
import time
from selenium import webdriver
import pandas as pd
from selenium.webdriver.common.by import By
import openpyxl
file_path = r'C:\Users\Administrator\Downloads\all_personn.xlsx'
sheet_name = 'Sheet1'
df = pd.read_excel(file_path, sheet_name=sheet_name)
data_list_juso = df["지번주소"].tolist()
driver= webdriver.Chrome()
dongsamuso=[]
for i in range(0,len(data_list_juso)):
url = "https://www.juso.go.kr/support/AddressMainSearch.do?searchKeyword=&dsgubuntext=&dscity1text=&dscounty1text=&dsemd1text=&dsri1text=&dssan1text=&dsrd_nm1text=&aotYn=N"
driver.get(url)
time.sleep(0.1)
driver.maximize_window()
time.sleep(0.22)
ddd = ' '.join(data_list_juso[i].split()[:3])
#ddd = data_list_juso[i]
# input_xpath = r'/html/body/div[4]/main/div/section[1]/div[1]/form/fieldset/div/div[1]/input[1]'
input_xpath = r'/html/body/div[2]/div/main/div[1]/form/fieldset/div[1]/div[1]/div/input[1]'
input_element = driver.find_element(By.XPATH, input_xpath)
input_element.send_keys(ddd)
time.sleep(0.2)
button_xpath = r'/html/body/div[2]/div/main/div[1]/form/fieldset/div[1]/button'
button_element = driver.find_element(By.XPATH, button_xpath)
button_element.click()
time.sleep(2)
nbutton_xpath = r'#list1 > div.addrWrap > div.addAddr > a'
nbutton_element = driver.find_element(By.CSS_SELECTOR, nbutton_xpath)
nbutton_element.click()
paegi = r'#list1'
meeee = driver.find_element(By.CSS_SELECTOR, paegi).text.split('\n')
k = list(meeee[1])[-1]
if k == '지':
anbutton_xpath = r' # list2 > div.addrWrap > div.addAddr > a'
anbutton_element = driver.find_element(By.CSS_SELECTOR, nbutton_xpath)
anbutton_element.click()
text_xpath = r'#engAddr_2 > ul > li:nth-child(3) > span:nth-child(2)'
text_element = driver.find_element(By.CSS_SELECTOR, text_xpath)
text_value = text_element.text
words = text_value.split()
second_last_word = str(words[:-1])
else:
text_xpath = r'#engAddr_1 > ul > li:nth-child(3) > span:nth-child(2)'
text_element = driver.find_element(By.CSS_SELECTOR, text_xpath)
text_value = text_element.text
words = text_value.split()
second_last_word = str(words[:-1])
dongsamuso.append(second_last_word)
workbook = openpyxl.load_workbook(file_path)
sheet_name = 'Sheet1'
sheet = workbook[sheet_name]
sheee_name = 'H'+str(i+2)
sheet[sheee_name] = second_last_word
workbook.save(file_path)
가끔 폐지라고 나오는 경우가 있는데 이에 대한 예외처리까지 담았다
리눅스 서버 재기동시 설정 변경 - DNS 세팅 (0) | 2023.12.19 |
---|---|
엑셀에서 alt+enter로 만들어진 줄바꿈 없애기 - Ctrl + J (0) | 2023.11.29 |
XRDP 재시작 (0) | 2023.09.18 |
프로그래머스 코딩테스트 네트워크 (0) | 2023.06.19 |
#백준#11047#그리디#greedy#algorithm (0) | 2023.05.13 |