html标签的正则表达式

时间:2014-07-02 11:30:20

标签: regex

嘿,这是我正在处理的确切代码段,我需要捕获这些内容:

  1. On Air:住在BBC,Vol。 2
  2. 披头士
  3. 2013
  4. 流行音乐/摇滚
  5. 我一直在尝试为此编写一个正则表达式,但我无法完全理解。 我认为这是div-tag和ahref-tag不在同一行中的一些问题。可能是,我不确定。 请帮忙......我需要一个正则表达式。 感谢。

    <div class="title">
                <a href="http://www.allmusic.com/album/on-air-live-at-the-bbc-vol-2-mw0002581064" data-tooltip="{&quot;id&quot;:&quot;MW0002581064&quot;,&quot;thumbnail&quot;:true}">On Air: Live at the BBC, Vol. 2</a>            </div>
    
                    <div class="artist">
                    <a href="http://www.allmusic.com/artist/the-beatles-mn0000754032">The Beatles</a>            </div>
    
                    <div class="year">
                2013            </div>
    
                    <div class="genres">
                Pop/Rock            </div>
    

1 个答案:

答案 0 :(得分:1)

您可以使用BeautifulSoup

from bs4 import BeautifulSoup
html = '''
    <div class="title">
        <a href="http://www.allmusic.com/album/on-air-live-at-the-bbc-vol-2-mw0002581064" data-tooltip="{&quot;id&quot;:&quot;MW0002581064&quot;,&quot;thumbnail&quot;:true}">On Air: Live at the BBC, Vol. 2</a>
    </div>
    <div class="artist">
        <a href="http://www.allmusic.com/artist/the-beatles-mn0000754032">The Beatles</a>
    </div>
    <div class="year">
        2013
    </div>
    <div class="genres">
        Pop/Rock
    </div>
    '''

soup = BeautifulSoup(html)

for s in soup.find_all("div", ["title","artist","year","genres"]):
    print(s.text.strip())

输出:

On Air: Live at the BBC, Vol. 2
The beatles
2013
Pop/Rock