我使用 soup.findAll('table') 尝试在 html 文件中查找表,但它不会出现。该表确实存在于文件中,并且使用正则表达式我能够以这种方式找到它:
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)]
它将正确打印它找到的标签。我已经尝试过用不同的方法来编写“表”,如“表”、“表”等。另外,如果我打开文件并用文本编辑器编辑它,它上面有“表”。
为什么beautifulsoup 找不到表??