该长字符串是JSON ,它大致映射到python字典。 您具有键值对,例如分别为"id"
和"p_14062397399"
。
因此,我在这里美化了JSON,您可以轻松地看到键值对和嵌套结构。 要提取名称和地址,请执行以下操作:
from bs4 import BeautifulSoup as bs
from urllib import urlopen
import json
Soup = bs(urlopen('https://familysearch.org/pal:/MM9.1.1/KHR6-D6D').read())
rawJ = Soup.find_all('script')
J = str(rawJ[10])
J1 = J.split('var person = ')
J2 = J1[1].rsplit('var record =')
J3 = J2[0].rsplit(';', 1)
JsonText = J3[0].decode('utf-8')
s = json.loads(JsonText)
print s["personBestName"]
for i in s["facts"]:
if i["type"] == "http://gedcomx.org/Census":
print i["place"]["fields"][0]["values"][0]["text"]