2015-06-28 2 views
1

В BeautifulSoup, у меня есть следующий:Удалить переводы строк красивого супа

>>> tr = soup.find_all('tr')[1] 
<tr> 
<td>Adaptive Systems Seminar (HOC+WPO)</td> 
<td>wo</td> 
<td>13:00</td> 
<td>17:00</td> 
<td>4:00</td> 
<td>22-29, 32-36</td> 
<td>MANDERICK BERNARD</td> 
<td> </td> 
</tr> 

Однако, я просто заинтересован в тексте. Так что я

>>> tr(text=True) 
[u'\n', u'Adaptive Systems Seminar (HOC+WPO)', u'\n', u'wo', u'\n', u'13:00', u'\n', u'17:00', u'\n', u'4:00', u'\n', u'22-29, 32-36', u'\n', u'MANDERICK BERNARD', u'\n', u'\xa0', u'\n'] 

Я хотел бы получить список выше, но без всех новых строк. Я прочитал документацию, но ничего не могу найти.

ответ

1

Одним из вариантов было бы найти все td элементы внутри и использовать get_text():

In [4]: [td.get_text(strip=True) for td in soup.select("tr > td")] 
Out[4]: 
[u'Adaptive Systems Seminar (HOC+WPO)', 
u'wo', 
u'13:00', 
u'17:00', 
u'4:00', 
u'22-29, 32-36', 
u'MANDERICK BERNARD', 
u''] 
Смежные вопросы