2016-08-02 4 views
0

PythonでライブラリやHTML文書から要素を抽出する方法があるかどうかを知りたいと思います。たとえば:PythonでHTMLブロックを削除する

<html> 
 
     <head> 
 
      ... 
 
     </head> 
 
     <body> 
 
      <div> 
 
      ... 
 
      </div> 
 
     </body> 
 
</html>

は私が文書からブロックの内容とともに<div></div>タグブロックを削除すると、それはそのようなことでしょう:

私はこの文書を持っています:

<html> 
 
    <head> 
 
    ... 
 
    </head> 
 
    <body> 
 
    </body> 
 
</html>

+0

あなただけの ''

タグを削除しますかまたはタグとその中の内容はどちらも? –

+0

タグとその間のコンテンツを削除したいと思います。しかし、内容だけがOKです。 – JefersonM

+0

htmlファイルをxmlとして読み込み、 'div'ノードを削除してみることができます。 https://wiki.python.org/moin/PythonXmlは、* ElementTree * –

答えて

0

あなたは、このためのライブラリを必要としません。組み込みの文字列メソッドを使用するだけです。

def removeOneTag(text, tag): 
    return text[:text.find("<"+tag+">")] + text[text.find("</"+tag+">") + len(tag)+3:] 

これにより、最初の開始タグと終了タグの間のすべてが削除されます。ですから、すべてのタグを削除したい場合などにご入力は次に何かのような...

x = """<html> 
    <head> 
     ... 
    </head> 
    <body> 
     <div> 
     ... 
     </div> 
    </body> 
</html>""" 
print(removeOneTag(x, "div")) 

だろう...

while(tag in x): 
    x = removeOneTag(x, tag) 
+0

Cool。私は本当にライブラリが必要ないでしょう。ありがとう! – JefersonM

+0

あなたの歓迎!私は助けてくれてうれしい! – Wso

0

BeautifulSoupなどのHTMLパーサーを使用して<div> DOM要素を選択してみてください。その後、正規表現などを使用して削除することができます。

0

私は個人的には図書館など何も必要ないと感じています。

あなたは単に

ものの(あなたの場合は削除)htmlファイルと、ご希望のHTMLタグにマッチする正規表現を読み、それをするあなたがやりたいためにPythonスクリプトを書くことができ、ライブラリが存在します同様に。また>https://docs.python.org/2/library/htmlparser.html

これを参照してください - -

は、公式ドキュメントを参照してください> Extracting text from HTML file using Python

関連する問題