У меня есть значение, которое нужно извлечь из тега div. Внутри div есть <p>
, <span>
и <input>
. Когда я записываю результаты find_all
для основного <div>
, я вижу все, что хочу получить. Но когда я просматриваю все теги <span>
в этом главном div, то тот, который мне нужен, не существует / не возвращает в результаты.
Это то, что на самом деле на странице источника
<div class="video-details">
<p>Web ID: <span itemprop="sku">15COLU2BRNRSTVXXXCAC</span></p>
<span id="SkuDisplay">
<p> SKU: 12139884</p>
</span>
<input type="hidden" id="selectedSku" value="660852" autocomplete="off">
</div>
Это то, что у меня есть сейчас, оно вернет все в (spanSKUitems) выше, за исключением строки <p> SKU </p>
for spanSKUitems in soup.find_all('div',class_="video-details"):
for spanSKUitem in spanSKUitems.find_all('span'):
strspanSKUitem = str(spanSKUitem.get_text())
if 'SKU:' in strspanSKUitem:
bidx = strspanSKUitem.index(':')+1
lidx = len(strspanSKUitem)
dets['sku']=strspanSKUitem[bidx:lidx].lstrip()
Это то, что содержится в spanSKUitems
:
<div class="video-details">
<p>Web ID: <span itemprop="sku">15COLU2BRNRSTVXXXCAC</span></p>
<span id="SkuDisplay"></span>
<input id="selectedSku" type="hidden" value=""/></div>
Что я пропускаю или делаю неправильно?
Что мне нужно, чтобы получить этот тег <p> SKU: 12139884</p>
?