如何阻止每个字母在不同的行上打印?

2024-06-16 10:49:13 发布

您现在位置:Python中文网/ 问答频道 /正文

当我试图用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

我想得到同一行的输出。你知道吗


Tags: textdivurlsearchsiteliresultclass
1条回答
网友
1楼 · 发布于 2024-06-16 10:49:13

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

相关问题 更多 >