Python 2.7 在python中使用BeautifulSoup.findAll(';table';)找不到包含soup的表
我正在使用soup.findAll('table')尝试在html文件中查找该表,但它不会出现。 该表确实存在于文件中,使用regex,我可以通过以下方式找到它:Python 2.7 在python中使用BeautifulSoup.findAll(';table';)找不到包含soup的表,python-2.7,beautifulsoup,tags,find,findall,Python 2.7,Beautifulsoup,Tags,Find,Findall,我正在使用soup.findAll('table')尝试在html文件中查找该表,但它不会出现。 该表确实存在于文件中,使用regex,我可以通过以下方式找到它: import sys import urllib2 from bs4 import BeautifulSoup import re webpage = open(r'd:\samplefile.html', 'r').read() soup = BeautifulSoup(webpage) print re.findall("TABL
import sys
import urllib2
from bs4 import BeautifulSoup
import re
webpage = open(r'd:\samplefile.html', 'r').read()
soup = BeautifulSoup(webpage)
print re.findall("TABLE",webpage) #works, prints ['TABLE','TABLE']
print soup.findAll("TABLE") # prints an empty list []
我知道我正确地生成了汤,因为我:
print [tag.name for tag in soup.findAll(align=None)]
它将正确打印找到的标签。我已经试过用不同的方式写“表”,比如“表”、“表”等等。
另外,如果我打开文件并用文本编辑器编辑它,它上面有“TABLE”
为什么beautifulsoup找不到表??上下文
- Python2.x
- 美化组HTML解析器
- bsoup
不会返回所有预期的标记,或者根本不返回任何标记,即使用户知道标记中存在该标记findall
- 初始化
构造函数时,请尝试指定确切的解析器BeautifulSoup
- 目标标记可能包括格式错误的HTML,不同解析器的成功程度也不同李>
- Python2.x
- 美化组HTML解析器
- bsoup
不会返回所有预期的标记,或者根本不返回任何标记,即使用户知道标记中存在该标记findall
- 初始化
构造函数时,请尝试指定确切的解析器BeautifulSoup
- 目标标记可能包括格式错误的HTML,不同解析器的成功程度也不同李>
http://
添加到url后(这样我就可以下载它了),len(soup.findAll('table'))
为我返回了23。@mr2ert是的,你可以在这里找到它:我在我的计算机上的本地文件中复制了你的html,并在ipython中运行你的代码,效果很好,我得到了一张表。你有没有试过在ipython中用最少的代码运行它?你能发布这个html文件的示例吗?我也有同样的问题。试图从ESPN.com上搜刮url=''boxurl=urllib2.urlopen(url).read()soup=BeautifulSoup(boxurl)soupTables=soup.findAll('table')reTables=re.findAll('table',boxurl)print len(soupTables),len(reTables)`soup.findAll只返回1个表,而re.findAll查找46个表tables@user2333196在将http://
添加到url后(这样我就可以下载它了),len(soup.findAll('table'))
为我返回了23。@mr2ert是的,你可以在这里找到它:我在我的计算机上的本地文件中复制了你的html,并在ipython中运行你的代码,效果很好,我得到了一张表。您是否尝试过在ipython中以最少的代码运行它?
## BEFORE
soup = BeautifulSoup(webpage)
## AFTER
soup = BeautifulSoup(webpage, "html5lib")