0

我需要字符串 SKU: E02165 女巫以某种方式编码为

SKU: E02165  

通过某种方式,这是来自网站的完整 div 海峡

<div class="sku">SKU:&nbsp;E02165&nbsp;&nbsp;</div>

我试过了

soup = BeautifulSoup(data)
info = soup.find('div' , {'class':'sku'}).contents

以及所有流动的

info = soup.findAll('div', { "class" : "sku"})
info = soup.find('div' , class='sku'}).contents
info = soup.find('div' , "class=" + 'sku'}).contents
info = soup.find('div' , {'class':'sku'}).text
info = soup.find('div' , {'class':'sku'}).contents

如果你能帮我把“sku:”从我认为我可以使用 info = (info.split('sku: ')[1]) 的数字中拆分出来,我已经在两行代码上花了 2 个小时,但如果那样的话剂量 nt 工作随时让我知道。谢谢你。

4

1 回答 1

1

试试这个:

>>> div = '<div class="sku">SKU:&nbsp;E02165&nbsp;&nbsp;</div>'
>>> html = BeautifulSoup(div)
>>> div_sku = html.find('div', {'class': 'sku'})
>>> value = div_sku.get_text(strip=True).encode('ascii', 'ignore').split('SKU:')[1]
>>> value
'E02165'

get_text(strip=True)将获取文档或标签的文本部分,并从头到尾去除空格。

encode('ascii', 'ignore')将忽略u'\xa0'文本中的 unicode,因此允许split()返回准确的结果。

或者,您也可以简单地执行以下操作:

value =div_sku.get_text(strip=True).replace(u'\xa0', u'').split('SKU:')[1]

其中replace(u'\xa0', u'')将替换u'\xa0'为空的 unicode 字符串。

于 2012-10-07T07:40:52.460 回答