Python BeautifulSoup正在关闭表中第一个单元格之后的

Python BeautifulSoup正在关闭表中第一个单元格之后的,python,beautifulsoup,Python,Beautifulsoup,你好 我正在尝试使用Python2.7/BeautifulSoup4来解析一堆页面。其中一页是: 我的问题是,我试图从主表中获取数据,但soup在第一个单元格之后关闭了该表 所以我的代码是: soup = BeautifulSoup(requests.get(url).text, "html.parser") t = soup.findAll('table', 'tableborder') t的长度是3,如果我使用html5lib或者不定义解析器,那么t是零。我无法在我的计算机上安装lxml来

你好

我正在尝试使用Python2.7/BeautifulSoup4来解析一堆页面。其中一页是:

我的问题是,我试图从主表中获取数据,但soup在第一个单元格之后关闭了该表

所以我的代码是:

soup = BeautifulSoup(requests.get(url).text, "html.parser")
t = soup.findAll('table', 'tableborder')
t的长度是3,如果我使用html5lib或者不定义解析器,那么t是零。我无法在我的计算机上安装lxml来尝试

因此,源代码中的主表t[0]如下所示:

<table cellpadding="0" cellspacing=0 width=100% class="tableborder" >
   <tr class="trbackground" height="20">
   <td align="left"><font color="white"><strong>&nbsp;Season</strong></font></a></td>
   <td align="left"><font color="white"><strong>Team</strong></font></td>
   <td align="left"><font color="white"><strong>League</strong></font></td>
   <td align="right"><font color="white"><strong>GP</strong></font></td>
   <td align="right"><font color="white"><strong>G</strong></font></td>
...
<table cellpadding="0" cellspacing="0" class="tableborder" width="100%">
<tr class="trbackground" height="20">
<td align="left"><font color="white"><strong> Season</strong></font></td></tr></table>
您需要安装并:

并且,为了说明区别,使用
html.parser发生了什么变化:

>>> soup = BeautifulSoup(requests.get(url).text, "html.parser")
>>> t = soup.findAll('table', 'tableborder')
>>> len(t)
4
>>> len(t[0].find_all('td'))
1
>>> soup = BeautifulSoup(requests.get(url).text, "lxml")
>>> t = soup.findAll('table', 'tableborder')
>>> len(t)
4
>>> len(t[0].find_all('td'))
527
>>> soup = BeautifulSoup(requests.get(url).text, "html.parser")
>>> t = soup.findAll('table', 'tableborder')
>>> len(t)
4
>>> len(t[0].find_all('td'))
1