56 lines
4.1 KiB
Python
56 lines
4.1 KiB
Python
import xml.etree.ElementTree as ET
|
|
import requests
|
|
|
|
# XML 응답 데이터 (예시)
|
|
# xml_response = b'\xec\xa3\xbc\xec\x8b\x9d\xed\x9a\x8c\xec\x82\xac</applicantName><applicationDate>20230102</applicationDate><applicationNumber>4020230000430</applicationNumber><applicationStatus>\xea\xb3\xb5\xea\xb3\xa0</applicationStatus><bigDrawing>http://plus.kipris.or.kr/kiprisplusws/fileToss.jsp?arg=ad7a17eeeef6e4ea4b5e22ef00dd3e2991ba5d9d09407d4bf69fd0e282d93ba4822ea711d1c0014105513d5758c737d00c9e62115cad0aef</bigDrawing><classificationCode>03</classificationCode><drawing>http://plus.kipris.or.kr/kiprisplusws/fileToss.jsp?arg=ed43a0609e94d6e251697a9d72a913440be47db3b03c4b733d99b169217b523f0853e0d6dd613d455ccd291c28fd8817ed949b84dd8bb0c3</drawing><fullText>Y</fullText><indexNo>4</indexNo><internationalRegisterDate></internationalRegisterDate><internationalRegisterNumber></internationalRegisterNumber><priorityDate></priorityDate><priorityNumber></priorityNumber><publicationDate>20240403</publicationDate><publicationNumber>4020240052090</publicationNumber><regPrivilegeName></regPrivilegeName><regReferenceNumber></regReferenceNumber><registrationDate></registrationDate><registrationNumber></registrationNumber><registrationPublicDate></registrationPublicDate><registrationPublicNumber></registrationPublicNumber><title>\xec\x8a\xa4\xed\x82\xa4\xec\x97\x90\xec\x9d\xb4\xed\x8a\xb8</title><viennaCode></viennaCode></item></items></body><count><numOfRows>10</numOfRows><pageNo>1</pageNo><totalCount>4</totalCount></count></response>'
|
|
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("결과가 없습니다.")
|