使用Beautiful Soup解析HTML
这是我的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>
我想用Beautiful Soup提取一些字符串(从string1
到string6
)。
有没有人能告诉我该怎么做?
** HTML中有很多<div>
标签,我并不需要全部。 我想提取的是在<td class="txt">
和</td>
之间的字符串。
2 个回答
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
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']