私は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)]
見つかったタグを正しく出力します。「table」、「table」など、「TABLE」の書き方もいろいろ試してみました。また、ファイルを開いてテキストエディタで編集すると、「TABLE」が表示されます。
なぜ美しいスープはテーブルを見つけられないのですか??