从python代码中读取循环中的href

时间:2015-10-27 23:12:16

标签: python html5 model-view-controller

我有一段看起来像这样的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循环而不是硬编码显示它,我该怎么做? 感谢

2 个答案:

答案 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%}