拒绝BeautifulSoup中的一些HTML标记

时间:2013-10-03 17:25:45

标签: html linux bash text beautifulsoup

我知道这可能很简单,但我找不到合适的方法来处理它。 我有一个HTML文档,我想提取其内容。本文正文的正文是:

<div class="articleContent">
        <div class="dateblock">
            <div class="textsize">
                <span class="textsize_label">
                    Font Size</span> <a href="javascript:decreaseFontSize();"
                        title="Increase font-size" class="txtsizeminus"><span>-</span></a> <a href="javascript:increaseFontSize();"
                            title="Increase font-size" class="txtsizeplus"><span>+</span></a>
            </div>

            <p class="article_date">
                Last Update: date
            </p>
        </div>
        <div id="ctl00_ctl00_cpAB_cp1_cbcContentBreak">
<div class="zoomMe">
        <P>The Content is here</p>
</div>

        

我想要的是文档的内容而不是其他信息,如&#34;字体大小&#34;和&#34;最后更新&#34;。但由于所有这些信息都是&#34; articleContent&#34;的孩子,我不知道如何摆脱它们。 我必须注意,由于这些附加信息可能会从一个文档更改为另一个文档,因此我无法使用简单的正则表达式将它们从最终字符串中删除。我在处理HTML文件时必须将它们过滤掉。 我必须补充一点,我使用以下命令来提取文档的这一部分,以及它的内容:

body = soup.find("div", {"class":"articleContent"})
pars= [s for s in body.strings if s.strip() != '']

所以,问题是如何避免在&#34; pars&#34;阵列

有什么想法吗? 感谢

1 个答案:

答案 0 :(得分:0)

您是否尝试过寻找您想要的特定标签?

desired_div = soup.find("div", attrs={"class": "zoomMe"})
print(desired_div.text)