2016-08-29 2 views
0

поэтому я делаю alittle project, так как я начинаю, и я делаю некоторые веб-ролики. Я хотел напечатать тексты песен на каждой строке, используя beautifulsoup в python, но вместо этого он печатает вот так:Как распечатать вывод html каждый на своей строке в python?

Я выглянул сегодня утром, и солнце исчезло. Понравилась какая-то музыка, чтобы начать свой день. Я потерял себя в знакомой songI закрыл глаза, и я ускользнул. Это больше, чем чувство (больше, чем чувство). Когда я слышу эту старую песню, которую они играли (больше, чем чувство). И я начинаю мечтать (больше, чем чувство). Пока я не увижу Марианну. см. мою Марианну, уходите. Многие люди пришли и ушли. Их лица исчезают по мере того, как идут годы. Я все еще помню, как я блуждаю. Ясность, как солнце в летнем небе. Это больше, чем чувство (больше, чем чувство). Когда я слышу эту старую песню они играли (больше, чем чувство). И я начинаю мечтать (больше, чем чувство). Пока я не увижу, как Марианна уходит. Я вижу, как моя Марианна уходит. Когда я устала и думаю, что я спряталась в м у меня музыка, забывай день И мечтаю о девушке, которую я знала. Я закрыл глаза, и она ускользнула. Она ускользнула. Это больше, чем чувство (больше, чем чувство). Когда я слышу эту старую песню, которую они играли (больше, чем чувство) И Я начинаю мечтать (больше чем чувство) Пока я вижу Marianne ходьбы

Это мой код:

import urllib 
from bs4 import BeautifulSoup 

html = urllib.urlopen("http://www.metrolyrics.com/more-than-a-feeling-lyrics-boston.html") 

bsObj = BeautifulSoup(html, "lxml") 

namelist = bsObj.find_all("div", {"id": "lyrics-body-text"}) 

print("".join([p.get_text(strip=True) for p in namelist])) 

ответ

0

Попробуйте записать его в простой цикл

for p in namelist: 
    print(p.get_text(strip=True)) 
+0

привет, он делает то же самое: \ –

+0

Если вы используете Python 3, попробуйте сделать печать в печати (p.get_text (strip = True), end = '\ n «). Или попробуйте установить параметр полосы False. –

1

Вам нужно удалить параметр strip = True к get_text. Это разбивает строку, в результате чего вы видите объединенный вывод.

Удалив его:

print("".join([p.get_text() for p in namelist])) 

Он печатает отлично.

+0

привет, я уже судимое это раньше, но он все еще печатает как этот –

+0

@NitaAlexandru обновленный мой ответ :-) –

+0

привет, полоса Ложные делает работу :) так делает ваш синтаксис, спасибо alot :) –