html ファイルのコレクションから抽出する必要があるデータがいくつかあります。データが div 要素、table 要素、または結合要素 (div タグは table の要素) に存在するかどうかはわかりません。3 つのケースすべてを見てきました。私のファイルは 2 MB の大きさで、私は何万ものそれらを持っています. これまでのところ、私はテーブルの td 要素を見て、孤独な div 要素を見てきました. 私には、ファイルがスープ化されるのに最も長い時間がかかり、30 秒以上かかるようです.正規表現を作成して探しているデータを見つけてから、次の閉じたタグテーブル、tr、td、または div を探して、テキストが含まれている構造のタイプを特定しました。一致する開始タグを見つけて、そのセクションを切り取り、HTML の開始タグと終了タグですべてラップする
stuff
<div>
stuff
mytext
stuff
</div>
したがって、次のような文字列を作成します。
s='<div>stuffmyTextstuff</div>'
次に、文字列をラップします
def stringWrapper(s):
newString='<HTML>'+s+'</HTML>'
return newString
そして、BeautifulSoupを使用します
littleSoup=BeautifulSoup(newString)
その後、BeautifulSoup のパワーにアクセスして、newString で必要なことを実行できます。
これは、テキストが見つかるまですべてのテーブルのすべてのセルの内容を最初にテストし、テキストが見つからない場合はすべての div の内容をテストするという代替手段よりもはるかに高速に実行されます。
ここで何か不足していますか?