['<', 'p', '>', '<', 'a', 'href', '>', '<', 'a', '>', '<', 'p', '>', '<', 'div', 'class', '>', '<', 'a', 'href', '>', '<', 'a', '>', '<', 'div', '>']
我现在如何有效地以硬编码方式处理列表,以获取每个HTML标记及其涵盖的属性?
所以在那之后我会确认p 没有任何属性,a href 并且div有类属性?
答案 0 :(得分:0)
只是为了学术挑战,你可以使用(在Stackoverflow上稍微采用this answer)
your_list = ['<', 'p', '>', '<', 'a', 'href', '>', '<', 'a', '>', '<', 'p', '>', '<', 'div', 'class', '>', '<', 'a', 'href', '>', '<', 'a', '>', '<', 'div', '>']
for prev,cur,next in zip([None]+your_list[:-1], your_list, your_list[1:]+[None]):
if prev == '<' and next == '>':
print "%s is an empty element" % cur
但是:这当然不是实现目标的最佳/最快/最安全的方法,首先更好地使用BeautifulSoup
等适当的解析器。话虽如此,请参阅 a demo on ideone.com