当我尝试使用beautifulsoup废弃一些文本时
class scrap(object):
def dirae(self, word):
url = 'http://dirae.es/palabras/' + word
site = urllib2.urlopen(url)
soup = BeautifulSoup(site.read())
for result in soup.select('div.definitionContent')[0].get_text():
print(result.encode('utf-8'))
search = scrap()
search.dirae('bellota')
html代码示例:
<div class="definitionContent">
<li><p>Text</p></li>
<li><p>Text</p></li>
</div>
我明白了:
T
e
x
t
T
e
x
t
我想让输出在同一行。
答案 0 :(得分:1)
soup.select('div.definitionContent')[0].get_text()
正在返回一个字符串。因此,对它进行for
意味着您正在迭代字符。
您可以尝试这样做:
class scrap(object):
def dirae(self, word):
url = 'http://dirae.es/palabras/' + word
site = urllib2.urlopen(url)
soup = BeautifulSoup(site.read())
print soup.select('div.definitionContent')[0].get_text().enconde('utf-8')