Посмотрите на людей, выступающих с докладами на всевозможных IT-конференциях и задайте себе вопрос, только честно - хотели ли бы вы быть на них похожи?) При всем уважении к ним.
from bs4 import BeautifulSoup
src = """
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict/EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Parse Me</title>
</head>
<body>
<div id="my_id">
<!-- Something -->
</div>
<div id="my_id">
<!-- Something -->
</div>
<!-- Много <div id="my_id"> -->
<div id="my_id">
<!-- Something -->
</div>
</body>
</html>
"""
template = """
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict/EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Parse Me</title>
</head>
<body>
{}
</body>
</html>
"""
bs = BeautifulSoup(src)
divs = bs.find_all("div", {"id": "my_id"})
for div in divs:
print(template.format(div))
def get_nested_value(path, my_dict):
tmp = my_dict.get(path[0])
if tmp:
if type(tmp) == dict:
if len(path) is not 1:
return get_nested_value(path[1:], tmp)
elif type(tmp) == str and len(path) == 1:
return tmp
return None
tst_dict = {"a": {"b": {"c": "value"}}}
path = ["a", "b", "c",]
print get_nested_value(path, tst_dict)