sitemap中の%エンコードされた日本語のURLの一覧

 2018/10/25 -  moriya -  ~1 Minute

sitemap.xml を確認しようとするが、日本語の URL にしていると、sitemap.xml 内の URL が % エンコードされてしまい、内容がわからないということがあるかもしれない。(そんなことで困っている人はいないかもしれないが。。。)

python で xml 内の loc タグ内の % エンコードされたURLを日本語にして表示する。

print_sitemap.py

#!/usr/bin/env python

import requests
import sys
from bs4 import BeautifulSoup
import urllib.parse

url = sys.argv[1]
sitemap = requests.get(url)
soup = BeautifulSoup(sitemap.text)
locs = soup.find_all('loc')
for loc in locs:
    print(urllib.parse.unquote(loc.text))

python print_sitemap.py URL

BeautifulSoup   は xml や、html の解析に便利なので、使ってみてほしい。