複数のファイルのHTMLタグの出現頻度をカウントしようと考えています.
事前にBeautifulSoupを用いて,複数ファイル内にどのようなタグがあるか確認し,tag.txtに書き出しました.
対象ファイルに含まれるタグは網羅できていますので,
このリストと比較して存在しないタグを含むファイルはありません.
また,タグの重複は削除済みです.
tag.txt html head a herf ...
現在,tag.txtを利用してタグのカウントを行う段階です.
ただ対象のテキストを読み込み,tag,txtにある文字列と一致させると,
'a'タグに'a'も引っかかりますが,he'a'dも引っかかることになります.
そこで,対象テキストをBeautifulSoupにかけ,タグだけ抜き取り,
カウントを行おうと考えています.
python
1list=[] 2for line in open('tag.txt'): 3 line = line.strip() 4 list.append(line) #tag.txtをリストに格納 5 6 7for dir in os.listdir(path): 8 counts = [] 9 print(path + dir) #ファイルまでのパスを取得し,ファイル名をプラス 10 11 f = open(path + dir, 'r') 12 sample = f.read() 13 14 sample=BeautifulSoup(sample) 15 tag=[] 16 tag=[x.name for x in sample.find_all(True)] #対象テキストのタグをリストに格納 17
ここから,list内要素をカウントするためにhtml=0,a=0のように初期化し,
tag内の要素をカウントしていきたいのですが,うまく書くことができません.
ご教授願えませんか.
このやり方以外にスマートな方法があれば教えていただきたいです.
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。