2

BeautifulSoup4を使用して、ローカルに保存されたWebサイト(Pythonドキュメント)からさまざまなコンテンツ(クラス)を取得したいので、このコードを使用してそれを行います(index.htmlはこの保存されたWebサイトです:https ://docs.python.org/3 /library/stdtypes.html )

from bs4 import BeautifulSoup
soup = BeautifulSoup(open("index.html"))
f = open('test.html','w')
f.truncate
classes= soup.find_all('dl', attrs={'class': ['class', 'method','function','describe', 'attribute', 'data', 'clasmethod', 'staticmethod']})
print(classes,file=f) 
f.close()

ファイルハンドラーは結果出力専用であり、問​​題自体には影響しません。

私の問題は、結果がネストされていることです。たとえば、メソッド "__eq__ (exporter) は、1. クラス内で、2. スタンドアロンのメソッドとして検出されます。

したがって、他の結果内のすべての結果を削除して、すべての結果を同じ階層レベルに配置したいと考えています。これどうやってするの?それとも、最初のステップでそのコンテンツを「無視」することさえ可能ですか? 私の言いたいことを理解していただければ幸いです。

4

1 に答える 1