1
テキストの一部でHTMLタグを取得する必要があります。私はいくつかの解決策を見つけましたが、それは私にとってはうまく機能しません。正規表現を使ってテキストでタグを見つける方法は?
from bs4 import BeautifulSoup
import re
soup = BeautifulSoup("""
<table>
<tbody>
<tr>
<td style="width: 100px; height: 20px">
<div style="font-size: 8.7pt">
Арт.:
<span id="ContentPlaceHolder1_ContentPlaceHolder1_DataList2_Label12_0"> 1185A</span>
</div>
<div style="font-size: 12pt; font-weight: bold;">
<span id="ContentPlaceHolder1_ContentPlaceHolder1_DataList2_LoginView3_0_Label12_0">I_CAN_GET_THIS other text</span>
I CAN NOT GET THIS?.
</div>
</td>
</tr>
</tbody>
</table>
""", 'lxml')
print(soup.find('span', text=re.compile('I_CAN_GET_THIS')))
print(soup.find('div', text=re.compile('I_CAN_NOT_GET_THIS')))
>>> <span id="ContentPlaceHolder1_ContentPlaceHolder1_DataList2_LoginView3_0_Label12_0">I_CAN_GET_THIS other text</span>
>>> None
だから私のことができ、それは後者の場合には動作しませんし、私はそれが動作するために何をすべき理由tは理解できますか? おかげ
ありがとう:あなたは子供のテキストを組み合わせた
.get_text()
を使用する場所searching functionを使用し、または:
代わりに、あなたはテキストノードを検索し、取得することができ、それは親です。あなたの2番目の解決策は私のためにかなり良いです。 – GhostKU