Python 使用soup从div获取编码内容

Python 使用soup从div获取编码内容,python,get,find,beautifulsoup,encode,Python,Get,Find,Beautifulsoup,Encode,我需要字符串SKU:E02165 witch以某种方式编码为 SKU:&nbsp;E02165&nbsp;&nbsp; 通过某种方式,这里是网站上的完整div海峡 <div class="sku">SKU:&nbsp;E02165&nbsp;&nbsp;</div> 以及所有流动的 info = soup.findAll('div', { "class" : "sku"}) info = soup.find('div'

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

SKU:&nbsp;E02165&nbsp;&nbsp;
通过某种方式,这里是网站上的完整div海峡

<div class="sku">SKU:&nbsp;E02165&nbsp;&nbsp;</div>
以及所有流动的

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]),但是如果这不起作用,请随时告诉我。 谢谢。

试试这个:

>>> 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'

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

可以使用正则表达式吗?无定义句柄\u SKU(数据):#获取项目soup=beautifulsou(“SKU:jjfjg”)的SKU。\35;正常数据gose here info=soup.find('span',class='name')。内容返回(信息)这是我现在正在尝试的,但是没有成功,但是这是有效的。。。def item_name(data):#获取item soup=BeautifulSoup(data)info=soup.find('span',itemprop='name')的名称。内容返回(info)否它只是现在锁定当我的程序点击代码时它停止没有错误只是停止响应我正在使用BS 4、apache 2和python 2.7、windows 7 ualt。。。我导入流式导入cgi、cgitb、fileinput、Cookie、os、datetime、sys、urllib2、,urllib从SimpleHTTPServer导入BaseHTTPServer从bs4导入SimpleHttpPrequestHandler导入BeautifulSoupWait如果我用程序的其余部分运行它会工作如果你想看到它和所有文件这里有一个zip谢谢你的时间。@RexFenderbird你的代码对我来说运行得很好:
→ python scaner.py内容类型:text/html[u'Glass Lens Screen with Tools Kit Set for iPhone 4 Black'][u'LCD Touch Screen Replacement Assembly with Bezel Frame for iPhone 4 GSM Version深蓝']信息:拇指加载,URL列表在
@RexFenderBaird中。唯一的问题是您可能应该打印
手柄\u SKU(第页)
而不是
item\u SKU()
,对我来说,它返回
u'BD005006'
。哇,我不敢相信我没有注意到这一点!也许我只是需要睡觉@Kay Zhu
>>> 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'
value =div_sku.get_text(strip=True).replace(u'\xa0', u'').split('SKU:')[1]