我正在使用 Beautiful Soup 搜索以下 HTML 以查找某些关键字,当找到关键字时,返回包含在下一个div
带有 class的文本ds_data
。在我的情况下,文本是 1
这工作得很好,但是一些 div 包含一个带有红色 x 表示 0 的图像。有没有办法说如果spacer_top n-sign
检测到类图像然后将其视为文本值“0”?
我的代码
#HDMI
pattern = re.compile(r'\s*%s\s*' % 'HDMI ports quantity')
hdmi_ports = soup.find(text=pattern).findNext('div',{'class':'ds_data'}).text
print hdmi_ports
#DVI Ports
pattern = re.compile(r'\s*%s\s*' % 'DVI port')
dvi_ports = soup.find(text=pattern).findNext('div',{'class':'ds_data'})
print dvi_ports
HTML
<div class="tableRow">
<div class="ds_label">
<span class="tip-anchor tip-anchor-text"> HDMI ports quantity</span>ev
<span class="red line">
<div class="tooltip-text">
</div>
<div class="ds_data"> 1 </div>
</div>
<div class="tableRow">
<div class="ds_label">
<span class="tip-anchor tip-anchor-text"> DVI port</span>ev
<span class="red line">
<div class="tooltip-text">
</div>
<div class="ds_data">
<img src="/imgs/spacer.png" class="spacer_top n-sign" alt="Yes"/>
</div>
</div>