Код: Выделить всё
from bs4 import BeautifulSoup
from html import escape
root = '''
[url=a][/url]
[url=b][/url]
[url=c][/url]
'''
a = ''
b = '''
[url=d][/url]
'''
c = ''
d = ''
def discover_nodes(node, leaf_nodes=[]):
node_value = eval(escape(node))
soup = BeautifulSoup(node_value, 'lxml')
links = soup.find_all('a')
if len(links) == 0:
leaf_nodes.append(node)
return
for link in links:
href = link['href']
discover_nodes(href, leaf_nodes)
return leaf_nodes
print(discover_nodes('root'))
Код: Выделить всё
['a', 'd', 'c']
Код: Выделить всё
node_value = eval(node)
Подробнее здесь: https://stackoverflow.com/questions/799 ... a-web-site
Мобильная версия