• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

막짠 숙제 제출

18.11.25 23:03 작성 조회수 78

0

강의가 거의 끝나가네요.

막짜서 구현(이라도) 할 수 있는 수준까지 왔어요 감사합니다.

from bs4 import BeautifulSoup

# setting
field_value = tuple(["등록번호", "등록일자", "출원번호", "출원일자", "상태", "특허제목"])
data_list = []
data_list.append(field_value)

# read xml file
with open("ipa110106.XML", "r", encoding="utf8") as xml_file:
    xml = xml_file.read()

# seperate xml
xml_list = xml.split('<?xml version="1.0" encoding="UTF-8"?>\n')

# remove empty str
while 1:
    if "" in xml_list:
        xml_list.remove("")
    else:
        break

# extract info
for page in xml_list:
        # extract info from xml
        soup = BeautifulSoup(page, "lxml")
        publication_reference_tag = soup.find("publication-reference")
        application_reference_tag = soup.find("application-reference")
        p_document_id_tag = publication_reference_tag.find("document-id")
        a_document_id_tag = application_reference_tag.find("document-id")

        p_doc_number = p_document_id_tag.find("doc-number").get_text()  # 등록번호
        p_date = p_document_id_tag.find("date").get_text()              # 등록일자
        a_doc_number = a_document_id_tag.find("doc-number").get_text()  # 출원번호
        a_date = a_document_id_tag.find("date").get_text()              # 출원일자
        p_kind = p_document_id_tag.find("kind").get_text()              # 상태
        invention_title = soup.find("invention-title").get_text()       # 특허제목

        # make data_list
        data_list.append(tuple([p_doc_number, p_date, a_doc_number,
                                a_date, p_kind, invention_title]))

# write data on csv
with open("data.csv", "w", encoding="utf8") as data_csv:
    for patent in data_list:
        data_csv.write(",".join(patent) + "\n")

답변 1

답변을 작성해보세요.

0

고생하셨습니다! 감사합니다!