我正在嘗試檢索所有復選框,僅在表單上的 data-reactid 中進行編輯。
這是html:
<input data-reactid=".0.1.2.0.0.0.0.$=2fields.0.2.0.0.1.0:$90.0:$=2edit.0.0.0" type="checkbox"/>
<input data-reactid=".0.1.2.0.0.0.0.$=2fields.0.2.0.0.1.0:$100.0:$=2edit.0.0.0" type="checkbox"/>
<input data-reactid=".0.1.2.0.0.0.0.$=2fields.0.2.0.0.1.0:$110.0:$=2default.0.0.2.0.0" type="checkbox"/>
<input data-reactid=".0.1.2.0.0.0.0.$=2fields.0.2.0.0.1.0:$110.0:$=2edit.0.0.0" type="checkbox"/>
...
下面是我用來過濾 html 的代碼,但我還在表單上獲得了其他復選框。如何從我的選擇中洗掉默認的 data-reactid?
chkbox = soup.findAll('input', attrs={"type":"checkbox"})
for chk in chkbox:
print(chk)
uj5u.com熱心網友回復:
您可以在過濾時使用正則運算式attrs,因此您可以選擇屬性中包含“編輯”的元素data-reactid。
soup.findAll("input", attrs={"data-reactid": re.compile(r"edit")})
uj5u.com熱心網友回復:
您可以使用帶有 * 包含運算子的屬性 = 值 css 選擇器
from bs4 import BeautifulSoup as bs
html = '''
<input data-reactid=".0.1.2.0.0.0.0.$=2fields.0.2.0.0.1.0:$90.0:$=2edit.0.0.0" type="checkbox"/>
<input data-reactid=".0.1.2.0.0.0.0.$=2fields.0.2.0.0.1.0:$100.0:$=2edit.0.0.0" type="checkbox"/>
<input data-reactid=".0.1.2.0.0.0.0.$=2fields.0.2.0.0.1.0:$110.0:$=2default.0.0.2.0.0" type="checkbox"/>
<input data-reactid=".0.1.2.0.0.0.0.$=2fields.0.2.0.0.1.0:$110.0:$=2edit.0.0.0" type="checkbox"/>'''
soup = bs(html, 'lxml')
soup.select('input[data-reactid*=edit][type=checkbox]')
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/420084.html
標籤:
