반응형
# import libraries
import pandas as pd
import numpy as np
import requests
import pprint
from os import name
import xml.etree.ElementTree as et
import pandas as pd
import bs4
from lxml import html
from urllib.parse import urlencode, quote_plus, unquote
# 인증키 입력 (encoding이 안되면 decoding으로 사용)
encoding = '발급받은 encoding code'
decoding = '발급받은 decoding code'
# url 입력
url = '활용 OpenApi EndPoint'
params ={'serviceKey' : decoding, 'numOfRows':'999999' }
# 요청 및 결과 받기위한 코드
response = requests.get(url, params=params)
# xml 내용
content = response.text
# 깔끔한 출력 위한 코드
pp = pprint.PrettyPrinter(indent=4)
# print(pp.pprint(content))
xml_obj = bs4.BeautifulSoup(content,'lxml-xml')
rows = xml_obj.findAll('item')
# print(rows)
# 각 행의 컬럼, 이름, 값을 가지는 리스트 만들기
row_list = [] # 행값
name_list = [] # 열이름값
value_list = [] #데이터값
# xml 안의 데이터 수집
for i in range(0, len(rows)):
columns = rows[i].find_all()
#첫째 행 데이터 수집
for j in range(0,len(columns)):
if i ==0:
# 컬럼 이름 값 저장
name_list.append(columns[j].name)
# 컬럼의 각 데이터 값 저장
value_list.append(columns[j].text)
# 각 행의 value값 전체 저장
row_list.append(value_list)
# 데이터 리스트 값 초기화
value_list=[]
#xml값 DataFrame으로 만들기
sports_df = pd.DataFrame(row_list, columns=name_list)
print(sports_df)반응형
'BackEnd' 카테고리의 다른 글
| FastAPI Excel Download 기능구현 (0) | 2023.02.26 |
|---|---|
| FastAPI에서 Websocket을 이용한 채팅 기능 만들기 (0) | 2023.02.26 |
| API - NAVER NEW SEARCH Open API사용하기 (0) | 2022.06.30 |
| API - NAVER PAPAGO Open API 사용하기 (0) | 2022.06.30 |
| API - Amazon Rekognition 사용해 이미지 객체식별 API 만들기 (0) | 2022.06.25 |