kaptCode 추출

ewillwin·2023년 1월 12일
0

TSMtech Record

목록 보기
25/39
from bs4 import BeautifulSoup as bs
import pandas as pd
import warnings
from multiprocessing import Process
import requests
import re
import xml.etree.ElementTree as ET


def get_kaptCode():
    url = "http://apis.data.go.kr/1613000/AptListService2/getTotalAptList"
    serviceKey = ""
    serviceKey = requests.utils.unquote(serviceKey)
    params = {'serviceKey': serviceKey, 'numOfRows': 18987}
    # params = {'serviceKey': serviceKey, 'numOfRows': 10}
    
    response = requests.get(url, params=params)
    return response.text

response = get_kaptCode()
# response = bs(response, 'lxml').text
# response = response.findAll('kaptCode')
# response = ET.parse(response)
# root = response.getroot()
# print(root)
# kaptCode_tags = root.findadll("kaptCode")
# print(kaptCode_tags)


print(response)
pattern  = "<kaptCode>(.[0-9]+)</kaptCode>"
result = re.findall(pattern, response)
print(result)

des = open("C:/Users/TSM/OneDrive/바탕 화면/kaptCode.txt", "w", encoding="cp949")
for i in range(len(result)):
    newline = result[i] + '\n'
    des.write(newline)
des.close()
  • requests module을 이용하여 API 요청 및 응답을 받을 수 있도록 함수 구현
  • beautifulSoup module을 이용하여 html parsing (xml 형식이긴 한데 tag 형식이면 parsing은 가능)
  • xml parsing은 xml.etree.ElementTree module 이용
  • re module의 findall()을 이용하여 pattern에 맞는 string을 추출함
    -> 와일드카드는 '.'
    -> 찾고자하는 string이 여러개일 경우 list로 반환
    -> ( ) 안에 있는 부분을 반환
profile
Software Engineer @ LG Electronics

0개의 댓글