curl -O 'https://www.dhii.jp/dh/tei/soseki_letter_19000908.xml'
curl -O 'https://www.dhii.jp/dh/tei/soseki_letter_19001008.xml'
curl -O 'https://www.dhii.jp/dh/tei/soseki_letter_19001022.xml'
import pathlib
from lxml import etree
ns = {"tei": "http://www.tei-c.org/ns/1.0"}
for p in pathlib.Path(".").glob("soseki_letter_*.xml"):
tree = etree.parse(p)
root = tree.getroot()
persons = root.xpath("//tei:back/tei:listPerson/tei:person/@xml:id", namespaces=ns)
places = root.xpath("//tei:back/tei:listPlace/tei:place/@xml:id", namespaces=ns)
for person in persons:
data = root.xpath(f"//tei:body//tei:*[@corresp='#{person}']", namespaces=ns)
print(f"{person}: 言及{len(data)}回")
for d in data:
s = " ".join([i.strip() for i in d.xpath("./..//text()") if i.strip()])
print(" -", s)
print("-" * 20)
for place in places:
data = root.xpath(f"//tei:body//tei:*[@corresp='#{place}']", namespaces=ns)
print(f"{place}: 言及{len(data)}回")
print("=" * 20)