was*_*ien 2 python beautifulsoup
similarlist = res.find_all_next("div", class_="result-wrapper")
for item in similarlist:
print(item)
Run Code Online (Sandbox Code Playgroud)
这将返回:
<div class="result-wrapper">
<div class="row-fluid result-row">
<div class="span6 result-left">
<p>
<a class="tooltipLink warn-cs" data-original-title="Listen" href="..." rel="tooltip"><i class="..."></i></a>
<a class="muted-link" href="/dictionary/german-english/aa-machen">Aa <b>machen</b></a>
</p>
</div>
<div class="span6 result-right row-fluid">
<span class="span9">
<a class="muted-link" href="/dictionary/english-german/do-a-poo">to do a poo</a>, <a class="muted-link" href="/dictionary/english-german/pooh">to pooh</a>
</span>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
当我选择打印时item.get_text(),我得到
abgeneigt machen
to disincline
abhängig machen
2137
to predicate
Absenker machen
to layer
Run Code Online (Sandbox Code Playgroud)
所以基本上我不需要的列表项之间有很多新行。这是因为<p>标签吗?我该如何摆脱它们?
是的,在标签之间,HTML 也包含空格(包括换行符)。
您可以使用正则表达式轻松折叠所有多行空白:
import re
re.sub(r'\n\s*\n', r'\n\n', item.get_text().strip(), flags=re.M)
Run Code Online (Sandbox Code Playgroud)
这将删除两个换行符之间的任何空格(换行符、空格、制表符等)。