我无法使用Beautiful Soup进行解析

时间:2010-11-16 20:52:18

标签: python beautifulsoup

<td>
<a name="corner"></a>
<div>
<div style="aaaaa">
<div class="class-a">My name is alis</div>
</div>
<div>
<span><span class="class-b " title="My title"><span>Very Good</span></span> </span>
<b>My Description</b><br />
          My Name is Alis I am a python learner...
        </div>
<div class="class-3" style="style-2 clear: both;">
          alis
        </div>
</div>
<br /></td>

我想要在描述之后进行描述:

My Name is Alis I am a python learner...

我尝试了很多东西,但我无法弄清楚最好的方法。你们可以为此提供一般的解决方案。

2 个答案:

答案 0 :(得分:1)

from BeautifulSoup import BeautifulSoup
soup = BeautifulSoup("Your sample html here")
soup.td.div('div')[2].contents[-1]

这将返回您要查找的字符串(unicode字符串,任何适用的空格,应该注明)。

这可以通过解析html,抓取第一个td标签及其内容,抓取第一个div标签中的任何div标签,选择列表中的第3个项目(列表索引2),并抓取其最后一个内容。

在BeautifulSoup中,有很多方法可以做到这一点,所以这个答案可能没有教你太多,我真的建议你阅读David建议的教程。

答案 1 :(得分:0)

您是否尝试过阅读文档中提供的示例?他们快速入门位于http://www.crummy.com/software/BeautifulSoup/documentation.html#Quick开始

编辑: 找到     

您可以通过

加载您的HTML
 from BeautifulSoup import BeautifulSoup
 soup = BeautifulSoup("My html here")
 myDiv = soup.find("div", { "class" : "class-a" })

还记得你可以通过python控制台完成大部分工作,然后使用dir()和help()来完成你想要做的事情。它可能会让你的生活变得更轻松,可以尝试ipython或者python IDLE,它们为初学者提供了非常友好的控制台。