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}
response = requests.get(url, params=params)
return response.text
response = get_kaptCode()
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로 반환
-> ( ) 안에 있는 부분을 반환