Python美丽的汤提取url和名字

时间:2011-02-26 16:13:32

标签: beautifulsoup

<a href="/browse.php?cat=67" class="bb_a">2057: Discovery<br><span>(2057: Discovery channel)</span></a>
<a href="/browse.php?cat=36" class="bb_a">The 4400<br><span>(The 4400)</span></a>

<a href="/browse.php?cat=47" class="bb_a">Aqua<br><span>(Aquaman)</span></a>

如何解析上面的字符串?

我想在以下列表中获取网址和名称:

[["2057", "The 4400", "Aquaman"], 
 ["/browse.php?cat=67", "/browse.php?cat=36", "/browse.php?cat=47"]]

使用下面的代码,我已经可以解析网址

i = 0
for incident in soup.findAll('a'):
    if ("browse.php?" in soup('a')[i]['href']):
        print (soup('a')[i]['href'])
        print soup('a')[i]['class']
    i = i + 1;

1 个答案:

答案 0 :(得分:0)

#!/usr/bin/env python
from BeautifulSoup import BeautifulSoup
body = """
<a href="/browse.php?cat=67" class="bb_a">2057: Discovery<br><span>(2057: Discovery channel)</span></a>
<a href="/browse.php?cat=36" class="bb_a">The 4400<br><span>(The 4400)</span></a>

<a href="/browse.php?cat=47" class="bb_a">Aqua<br><span>(Aquaman)</span></a>
"""

soup = BeautifulSoup(body)
i = 0
for incident in soup.findAll('a'):
    if ("browse.php?" in soup('a')[i]['href']):
        print (soup('a')[i]['href'])
        print soup('a')[i]['class']
        print soup('a')[i].contents # Pick out contents of the tag.
    i = i + 1;

产地:

/browse.php?cat=67
bb_a
[u'2057: Discovery', <br />, <span>(2057: Discovery channel)</span>]
/browse.php?cat=36
bb_a
[u'The 4400', <br />, <span>(The 4400)</span>]
/browse.php?cat=47
bb_a
[u'Aqua', <br />, <span>(Aquaman)</span>]

您应该能够将soup('a')[i].contents结果按到您可以使用的表格中。