body=body.encode('ascii','ignore')AttributeError: 'list'对象没有属性'encode'



为什么下面的代码给我一条错误消息:AttributeError: 'list' object has no attribute 'encode'

import urllib2                  
from BeautifulSoup import BeautifulSoup
opener = urllib2.build_opener()         
opener.addheaders = [('user-agent', 'Mozilla/5.0')]
url = ('http://en.wikipedia.org/wiki/Pink_Floyd')
thisurl= opener.open(url).read()
soup = BeautifulSoup(thisurl)      
title = soup.title.text
body = soup.findAll('p')       
body = body.encode('ascii','ignore')
for i in body:         
    print i.text

您正在尝试encode一个列表(findAll的结果是出现列表)。 您需要做的是遍历列表,获取所需的文本并对其进行编码。

body = soup.findAll('p')
for i in body:
    print i.text.encode('ascii','ignore')

最新更新