Python 为什么我找不到<;p>;在a<;span>;这个html示例中的标签是什么?

Python 为什么我找不到<;p>;在a<;span>;这个html示例中的标签是什么?,python,beautifulsoup,scrapy,Python,Beautifulsoup,Scrapy,我需要从div标记中提取一个值。在div中有一个,和。当我写出主的find_all结果时,我可以看到我想要得到的一切。但是当我在主div中查找所有的标记时,结果中不存在/返回我需要的标记 这就是页面源代码中的实际内容 <div class="video-details"> <p>Web ID: <span itemprop="sku">15COLU2BRNRSTVXXXCAC</span></p> <span id="

我需要从div标记中提取一个值。在div中有一个
。当我写出主
find_all
结果时,我可以看到我想要得到的一切。但是当我在主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>
这是包含在
项目中的内容:

<div class="video-details">
<p>Web ID: <span itemprop="sku">15COLU2BRNRSTVXXXCAC</span></p>
<span id="SkuDisplay"></span> 
<input id="selectedSku" type="hidden" value=""/></div>

Web ID:15colu2brnrstvxxcac

我错过了什么或做错了什么?
我需要得到的是这个标签
SKU:12139884

以下工作基于您提供的附加html。数据位于具有不同id的span标记的字符串中。您可以使用json加载,然后提取:

import json
data = soup.select_one('#skuDescriptivattribute').text
data = json.loads(data)
print(data['descriptive'][0]['partNumber'])

运行此代码时的当前输出是什么?我文章的最后一部分是返回的内容。。。请注意,SKU显示为空。。当你查看页面源代码时,如果它在那里,它怎么可能是空的..我无法重现你的问题:对于
dets['sku']
,我得到
“12139884”
。这是您的确切代码吗?上面的所有内容都与页面上的内容完全相同,并且我正在使用爬行器执行它(如果在您的示例中添加打印最后2行,我将收到此错误NotImplementedError:仅实现以下伪类:nth-of-type。将或应该只有1个名为“video details”的标记。)对于该特定格式和结构的sku,也只有1个,但在整个页面中,页面上还有其他包含单词sku的标记和元素,但与上面的示例不同。这是使用bs4 4.7.1。如果您有升级选项,我将使用bs4.7.1。4.6.0,因为4.7.1提供了更大的灵活性
import json
data = soup.select_one('#skuDescriptivattribute').text
data = json.loads(data)
print(data['descriptive'][0]['partNumber'])