2015-09-12 2 views
0

Когда я пытаюсь ломом текст с 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 

Я хочу, чтобы получить выход на тот же линия.

ответ

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

'результата в soup.select ('div.definitionContent'):. .... печать (result.get_text() кодирование ('UTF- 8 ')) 'лучше для меня –

Смежные вопросы