Python으로 URL 목록에서 사이트 맵 (sitemap.xml) 만들기 [결정판]

파이썬에서 URL 목록에서 사이트 맵 (sitemap.xml) 만들기



SEO에 대해 생각할 때 필수 항목 중 하나는 사이트 맵 (sitemap.xml)입니다. 따라서 URL 목록에서 사이트맵을 만드는 방법에 대해 소개합니다.
(※ Python 3계를 전제로 하고 있습니다)

Google이 권장하는 Sitemap 형식


sitemap.xml 의 주요 구조는 다음과 같습니다.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> 
  <url>
    <loc>http://www.example.com/foo.html</loc>
    <lastmod>2018-06-04</lastmod>
  </url>
  <url>
    <loc>http://www.example.com/faa.html</loc>
    <lastmod>2018-06-04</lastmod>
  </url>
</urlset>

참고 : htps : // 꼬리 rt. 오, ぇ. 이 m/우ぇb마s rs/안수 r/183668? hl = 그럼

sitemap.xml 만들기


xml 라는 표준 라이브러리의 ElementTree 를 이용합니다.

샘플 프로그램


import xml.etree.ElementTree as ET

urls = [
    "https://www.yahoo.co.jp/",
    "https://www.google.com/",
    "https://www.facebook.com/",
    "https://twitter.com/",
    "https://paymap.jp/",
]

urlset = ET.Element('urlset')
urlset.set("xmlns", "http://www.sitemaps.org/schemas/sitemap/0.9")
tree = ET.ElementTree(element=urlset)

for url in urls:
    url_element = ET.SubElement(urlset, 'url')
    loc = ET.SubElement(url_element, 'loc')
    loc.text = url
    lastmod = ET.SubElement(url_element, 'lastmod')
    lastmod.text = "2019-01-12"

tree.write('sitemap.xml', encoding='utf-8', xml_declaration=True)

순서대로 설명



import


xmlElementTreeET 로 가져옵니다.
import xml.etree.ElementTree as ET

urls



URL 목록을 urls로 지정했습니다.
urls = [
    "https://www.yahoo.co.jp/",
    "https://www.google.com/",
    "https://www.facebook.com/",
    "https://twitter.com/",
    "https://paymap.jp",
]

urlset



sitemap의 구조에 따라 urlset를 루트로 설정하고 xmlns의 속성을 설정합니다.
urlset = ET.Element('urlset')
urlset.set("xmlns", "http://www.sitemaps.org/schemas/sitemap/0.9")
tree = ET.ElementTree(element=urlset)

각 요소 만들기



URL 목록에서 urlloclastmod 를 만들고 loc 에 URL 을 삽입하고 lastmod 에 날짜를 삽입합니다. 필요에 따라 changefreq 등도 설정하십시오.
for url in urls:
    url_element = ET.SubElement(urlset, 'url')
    loc = ET.SubElement(url_element, 'loc')
    loc.text = url
    lastmod = ET.SubElement(url_element, 'lastmod')
    lastmod.text = "2019-01-12"

날짜 조작 방법에 대해 자세히 알고 싶다면 Python datetime 날짜 계산, 문자열에서 변환 【결정판】을 참조하십시오.

내보내기


encodingxml_declaration에서 내보낼 XML 상단에 <?xml version="1.0" encoding="UTF-8"?>를 정의하고 sitemap.xml라는 파일 이름으로 내보냅니다.
tree.write('sitemap.xml', encoding='utf-8', xml_declaration=True)

sitemap.xml 확인



내보낸 파일은 다음과 같습니다.



이제 확인하기 어려우므로 Chrome과 같은 브라우저로 드래그 앤 드롭하면 다음과 같이 확인할 수 있습니다.



요약



파이썬으로 사이트 맵 (sitemap.xml)을 만드는 방법에 대한 설명이었습니다.

좋아요를 해 주시면 동기 부여에 연결되기 때문에 눌러 주시면 기쁩니다.

좋은 웹페이지 즐겨찾기