2016-03-11 68 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

這是因爲在較新版本的BeautifulSoup中findAll更名爲find_all,所以請改爲table_body.findAll('tr')

+0

哇!謝謝 。 – eleanora

2

添加和更改@ larsr的回答的重點:

不應該使用BeautifulSoup 3 - 它不再保持。相反升級:

pip install --upgrade beautifulsoup4 

並確保您導入爲:

from bs4 import BeautifulSoup 
+0

非常感謝。 – eleanora

相關問題