Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 漂亮的汤找不到表ID_Python_Python 3.x_Html Parsing_Beautifulsoup - Fatal编程技术网

Python 漂亮的汤找不到表ID

Python 漂亮的汤找不到表ID,python,python-3.x,html-parsing,beautifulsoup,Python,Python 3.x,Html Parsing,Beautifulsoup,我试图从一个有多个表的网页中提取一些数据。所有表都有一个id=“name”属性。我正在将BeautifulSoup4与Python 3.4.1一起使用。我的代码很好地浏览了第一个表,但在最后一个表中,它返回“None”,我不知道为什么 表信息的html代码如下所示,从我所看到的,它的格式与其他具有其他id名称(如id=Datagrid1)的表没有任何不同 下面的python代码返回None,但是如果我将id更改为另一个已知的id名称,它将起作用 table = soup.find('tabl

我试图从一个有多个表的网页中提取一些数据。所有表都有一个id=“name”属性。我正在将BeautifulSoup4与Python 3.4.1一起使用。我的代码很好地浏览了第一个表,但在最后一个表中,它返回“None”,我不知道为什么

表信息的html代码如下所示,从我所看到的,它的格式与其他具有其他id名称(如id=Datagrid1)的表没有任何不同


下面的python代码返回None,但是如果我将id更改为另一个已知的id名称,它将起作用

table = soup.find('table', id='DataGrid7')  
print(table)

您的程序中有打字错误,应该是小的
'g'

from bs4 import BeautifulSoup

html="""<TR>
<TD vAlign=top>
  <TABLE id=Datagrid7
  style="FONT-SIZE: smaller; FONT-FAMILY: Verdana; WIDTH: 675px; BORDER-COLLAPSE: collapse"
  cellSpacing=0 rules=all align=left border=1>
    <TBODY>"""

soup=BeautifulSoup(html)


print soup.find('table',id='Datagrid7')

#output <table align="left" border="1" cellspacing="0" id="Datagrid7" rules="all" style="FONT-SIZE: smaller; FONT-FAMILY: Verdana; WIDTH: 675px; BORDER-COLLAPSE: collapse">
<tbody></tbody></table>
从bs4导入美化组
html=”“”
"""
soup=BeautifulSoup(html)
打印soup.find('table',id='Datagrid7')
#输出

代码中有一个输入错误

表的id是
Datagrid7
,而不是
Datagrid7

table = soup.find('table', id='Datagrid7')
#                                  ^

非常感谢,所有其他标签都有大写字母G,所以现在我必须将其更改为同时考虑这两种情况。