<small class="truncate text-bold">Heart ...</small>
<small class="truncate text-bold">Fuse</small>
<small class="truncate text-bold">Fuse</small>
<small class="truncate text-bold">hello</small>
<small class="truncate text-bold">trap</small>
<small class="truncate text-bold">Fuse</small>
<small class="truncate text-bold">kick</small>
<small class="truncate text-bold">Fuse</small>
<small class="truncate text-bold blurple2">I 1</small>
<small class="truncate text-bold blurple2">I 2</small>
<small class="truncate text-bold blurple2">I 3</small>
<small class="truncate text-bold blurple2">I 4</small>
<small class="truncate text-bold blurple2">I 5</small>
<small class="truncate text-bold blurple2">I 6</small>
<small class="truncate text-bold blurple2">I 7</small>
for row in c_soup:
s_c = row.find("small",{'class':'truncate text-bold'}).text.strip()
s_i = row.find("small",{'class':'truncate text-bold blurple2'}).text.strip()
print(s_i + ' ' + s_c)我的输出是
>H 110i 5陷阱H 211<代码>H 112i 6熔断器<代码>H 213<代码>H 114i 7踢<代码>H 215<代码>H 116i 8熔断器<代码>H 217/代码><代码>G 218
我不想把保险丝放进我的输出
G 228
发布于 2020-10-24 18:01:08
如果我正确地理解了您,您希望从<small>标记中“压缩”文本,而不是包含“Fuse”字的文本:
from bs4 import BeautifulSoup
html_doc = '''<small class="truncate text-bold">Heart ...</small>
<small class="truncate text-bold">Fuse</small>
<small class="truncate text-bold">Fuse</small>
<small class="truncate text-bold">hello</small>
<small class="truncate text-bold">trap</small>
<small class="truncate text-bold">Fuse</small>
<small class="truncate text-bold">kick</small>
<small class="truncate text-bold">Fuse</small>
<small class="truncate text-bold blurple2">I 1</small>
<small class="truncate text-bold blurple2">I 2</small>
<small class="truncate text-bold blurple2">I 3</small>
<small class="truncate text-bold blurple2">I 4</small>
<small class="truncate text-bold blurple2">I 5</small>
<small class="truncate text-bold blurple2">I 6</small>
<small class="truncate text-bold blurple2">I 7</small>
'''
soup = BeautifulSoup(html_doc, 'html.parser')
for a, b in zip( soup.select('.truncate:not(.blurple2)'), soup.select('.blurple2') ):
if 'Fuse' in a.text:
continue
print(b.text + ' ' + a.text)指纹:
I 1 Heart ...
I 4 hello
I 5 trap
I 7 kickhttps://stackoverflow.com/questions/64516423
复制相似问题