2016-03-11 2 views
0

Я пытаюсь использовать BeautifulSoup в первый раз, чтобы прочитать таблицу.Чтение строк из таблицы в BeautifulSoup

print table_body 

работает, но

rows = table_body.find_all('tr') 

дает

TypeError: 'NoneType' object is not callable. 

от результата print table_body является:

<tbody> 
<tr> 
<td>1</td> 
<td><input type="checkbox" checked="checked" value="1098371296_GG14" class="tick_select" name="tick_select" id="tick_1098371296_GG14" /></td> 
<td><a href="application.jsp?number=1322801&amp;cycle=16/17&amp;route=routecode&amp;seq=0">1098371296</a></td> 
<td>GG14</td> 
<td>Joe</td> 
<td>Doe</td> 
<td>US</td> 
<td>15/16</td> 
<td>15/01/15</td> 
<td></td> 
<td>05/05/15</td> 
<td></td> 
<td>R</td> 
<td> <abbr title="Withdrawn">Cw</abbr> <abbr title="MS">Mt</abbr> <abbr title="UF elsewhere">Ue</abbr></td> 
<td></td> 
</tr> 
[...] 

Что я делаю неправильно?

Я пользуюсь BeautifulSoup версии 3.2.1.

ответ

1

Это потому, что findAll переименован в более поздние версии BeautifulSoup, поэтому вместо этого напишите table_body.findAll('tr').

+0

Wow! Спасибо . – eleanora

2

Для добавления и изменения фокуса ответ на @ larsr в:

Вы не должны использовать BeautifulSoup 3 - это больше не поддерживается. Вместо того, чтобы обновить:

pip install --upgrade beautifulsoup4 

И убедитесь, что вы импортировать его как:

from bs4 import BeautifulSoup 
+0

спасибо. – eleanora

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