import xml.etree.ElementTree as ET import requests # XML 응답 데이터 (예시) # xml_response = b'\xec\xa3\xbc\xec\x8b\x9d\xed\x9a\x8c\xec\x82\xac202301024020230000430\xea\xb3\xb5\xea\xb3\xa0http://plus.kipris.or.kr/kiprisplusws/fileToss.jsp?arg=ad7a17eeeef6e4ea4b5e22ef00dd3e2991ba5d9d09407d4bf69fd0e282d93ba4822ea711d1c0014105513d5758c737d00c9e62115cad0aef03http://plus.kipris.or.kr/kiprisplusws/fileToss.jsp?arg=ed43a0609e94d6e251697a9d72a913440be47db3b03c4b733d99b169217b523f0853e0d6dd613d455ccd291c28fd8817ed949b84dd8bb0c3Y4202404034020240052090\xec\x8a\xa4\xed\x82\xa4\xec\x97\x90\xec\x9d\xb4\xed\x8a\xb81014' apikey = 'X9Tz3JqC/JcCwxnNewA6qdloIN6QFIitVBgS1a2KVDYk1AmddaDTvzr6+t3dyLZV3gh2TPXdNhxsRQwaKP673Q==' url = 'http://kipo-api.kipi.or.kr/openapi/service/trademarkInfoSearchService/getWordSearch' params = { 'serviceKey': apikey, # 디코딩된 키 사용 'searchString': '스키에이트', 'searchRecentYear': '0', 'title': '', 'fullText': '', 'drawing': '', 'bigDrawing': '' } response = requests.get(url, params=params) decoded_data = response.content.decode('utf-8') print(f"decoded_data : {decoded_data}") root = ET.fromstring(decoded_data) # 결과 저장을 위한 딕셔너리 생성 results = [] # 'item' 태그를 순회하면서 필요한 데이터 추출 for item in root.findall('.//body/items/item'): result = { "index_no": item.find('indexNo').text if item.find('indexNo') is not None else None, "application_number": item.find('applicationNumber').text if item.find('applicationNumber') is not None else None, "application_date": item.find('applicationDate').text if item.find('applicationDate') is not None else None, "publication_number": item.find('publicationNumber').text if item.find('publicationNumber') is not None else None, "publication_date": item.find('publicationDate').text if item.find('publicationDate') is not None else None, "registration_date": item.find('registrationDate').text if item.find('registrationDate') is not None else None, "registration_number": item.find('registrationNumber').text if item.find('registrationNumber') is not None else None, "applicant_name": item.find('applicantName').text if item.find('applicantName') is not None else None, "agent_name": item.find('agentName').text if item.find('agentName') is not None else None, "title": item.find('title').text if item.find('title') is not None else None, "drawing_url": item.find('drawing').text if item.find('drawing') is not None else None, "big_drawing_url": item.find('bigDrawing').text if item.find('bigDrawing') is not None else None, "full_text": item.find('fullText').text if item.find('fullText') is not None else None, "application_status": item.find('applicationStatus').text if item.find('applicationStatus') is not None else None, "classification_code": item.find('classificationCode').text if item.find('classificationCode') is not None else None } results.append(result) # 결과 출력 (첫 번째 아이템 예시) if results: first_item = results[0] print("첫 번째 아이템 정보:") for key, value in first_item.items(): print(f"{key}: {value}") else: print("결과가 없습니다.")