用美丽的汤解析HTML

时间:2012-01-09 08:26:53

标签: python beautifulsoup

这就是我的HTML:

<table cellspacing="0" cellpadding="0"  class="list04" style="width:704px;">

    <td class="txt"><img src="img/1001.gif" /></td>
    <td>
    <div>string1</div>
    <div>
    string2</div>
    </td>
    <td><div class="name">string3</div>
    </td>
    <td>
    </td>
    <td></td>
    </tr>
    <tr>
    <td></td>


    <td class="txt"><img src="img/1002.gif" /></td>
    <td>
    <div>string4</div>
    <div>
    string5</div>
    </td>
    <td><div class="name">string6</div>
    </td>
    <td>
    </td>
    <td></td>
    </tr>
    <tr>
    <td></td>

</table>

我想用美丽的汤提取字符串(string1string6)。

有人能回答我怎么做吗?

** HTML的其余部分有很多<div>个,我不需要它们。  我想在<td class="txt"></td>

之间提取字符串

2 个答案:

答案 0 :(得分:1)

如果它在字符串html中,请使用

from BeautifulSoup import BeautifulSoup
soup = BeautifulSoup(html)
print [t.text for t in soup.find("table", {"class": "list04"}).findAll("div")]

将打印出来:

[u'string1', u'string2', u'string3', u'string4', u'string5', u'string6']

答案 1 :(得分:0)

试试这个

from BeautifulSoup import BeautifulSoup 
f = open('a.htm')
soup = BeautifulSoup(f) 
anothersoup = BeautifulSoup(soup.findAll('td', attrs={'class':'txt'}))
list = anothersoup.findAll('div')
print list
相关问题