0

文字列 SKU が必要です: E02165 魔女は何らかの形で次のようにエンコードされています

SKU: E02165  

どういうわけか、これはWebサイトからの完全な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:」を数値から分割するのを手伝っていただければ、2 行のコードに 2 時間かかってしまいました。 info = (info.split('sku: ')[1]) dos nt work お気軽にお知らせください。ありがとうございました。

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'

于 2012-10-07T07:40:52.460 に答える