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

How do I stop each letter from printing on different line?

当我尝试使用beautifulsoup

抓取一些文本时
class scrape(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 = scrape()
    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

我想在同一行上获得输出。

soup.select('div.definitionContent')[0].get_text() 正在返回一个字符串。因此,对其执行 for 意味着您正在迭代字符。

您可以尝试这样做:

class scrape(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')