我有一个html,div标签中有很多不同的文本结构。我想的唯一的事情,就是让这些标签内的文本,但没有标签,换行等从div获取文本没有任何标签和特殊字符/ Python/
例如这个HTML DIV:
<div class="textNahlad">
<i>Informácie pre záujemcu:</i>
<br>
Výberový pohovor je potrebné vopred dojednať telefonicky
<br>
</div>
,但它也可以:
<div class="textNahlad">
<b>Informácie pre záujemcu:</b>
<br>
<br>
<br>
<i>Výberový pohovor je potrebné vopred dojednať telefonicky</i>
<br>
</div>
那么结果将是:Informácie pre záujemcu: Výberový pohovor je potrebné vopred dojednať telefonicky
我很好奇,是否有在Python/BS4一个函数,它只能返回没有标签和换行和其他乱七八糟的文字。
find.('div',class_="textNahlad")
不起作用
编辑:我试着用.contents做到这一点,并为每个内容检查,无论是文字或标记,如果标签,然后得到文本,但它不能正常工作。
这产生了2个HTML样本不同的结果 - 的之间的空格数“záujemcu:”和“Výberový”而变化。你可以使用'''.join(如果s.strip()])'用于's.strings(s.strip()for s.strings')来纠正它,但它很笨拙。 – mhawke 2014-10-20 11:18:56