2016-11-03 3 views
1

生のHTMLファイルがあり、スクリプトタグを削除しています。pythonどのようにブロックhtmlを識別するためのテキストが含まれていますか?

私は(、<h1> <p> <div>などのようではない<a> <em> <b>など)DOMでブロック要素を特定し、<div>タグで囲みたいです。

Pythonで簡単に行う方法はありますか? 実際に私は、HTML文書を抽出するブロック要素に

おかげ

UPDATE

を識別するためのPythonでライブラリがあります。私はテキストを含むブロックを特定する必要があります。各テキスト要素について、ブロックとして表示される最も近い親要素を見つけなければなりません。その後、ブロックごとに、ブロックのサイズや位置などの特徴を抽出します。

+2

'beautifulsoup'を検索https://www.crummy.com/software/BeautifulSoup/bs4/doc/ –

+1

適切な検索エンジンであれば、この質問に対する回答が得られます... – jojo

+0

それは有用だった – jojo

答えて

1

Beautiful SoupまたはHTMLParserのようなものを使用してください。

doc:Beautiful SoupまたはHTMLParserをご覧ください。

お探しのものが見つかりました。それが機能しない場合は、より具体的な質問をすることを検討してください。

ここでは簡単な例を示します。その後、あなたはできる、「データ」は、サイトの生の内容であると言う:

soup = BeautifulSoup(data) # you may need to add from_encoding="utf-8"or so 

次にあなたが特定のノードを探してツリーを通って、それで何かに歩くことをお勧めします。あなたはこのようにfctを使うことができます:

def walker(soup): 
    if soup.name is not None: 
     for child in soup.children: 
      # do stuff with the node 
      print ':'.join([str(child.name), str(type(child))]) 
      walker(child) 

注:コードはthis great tutorialです。

+0

私は質問に感謝を更新! –

+0

美しいスープを見ましたか? DOMツリーを解析する方法に関するチュートリアルへのリンクを使用して、私の答えを更新します。 – dendragon

+0

@キムヘションと一緒に運がいい? – dendragon

関連する問題