我有一段看起来像这样的HTML代码:
<div class="menu-item">
<a class="menu-link" href="/dashboard/apple"> C-apple</a>
</div>
<div class="menu-item">
<a class="menu-link" href="/dashboard/bench"> C-bench</a>
</div>
但我想从python列表中读取href="/dashboard/{name}"> {title} </a>
并使用for循环或while循环而不是硬编码显示它,我该怎么做?
感谢
答案 0 :(得分:1)
您可以查看HTMLParser
这是一个例子
from HTMLParser import HTMLParser
# create a subclass and override the handler methods
class MyHTMLParser(HTMLParser):
a = 0
def handle_starttag(self, tag, attrs):
if tag == 'a':
self.a = 1
print 'name:', dict(attrs)['href'].split('/')[-1]
def handle_data(self, data):
if self.a == 1:
print 'title:', data
def handle_endtag(self, tag):
self.a = 0
# instantiate the parser and fed it some HTML
parser = MyHTMLParser()
parser.feed('''
<div class="menu-item">
<a class="menu-link" href="/dashboard/apple"> C-apple</a>
</div>
<div class="menu-item">
<a class="menu-link" href="/dashboard/bench"> C-bench</a>
</div>
''')
你运行它就会得到输出
name: apple
title: C-apple
name: bench
title: C-bench
答案 1 :(得分:0)
感谢大家的帮助,这解决了我的问题
{%for name, title in tuples:%}
<div class="menu-item">
<a class="menu-link" href="/dashboard/{{title}}">{{name}}</a>
</div>
{%endfor%}