2012-01-09 13 views
0

私はhtmlについて多くのことを知りません... どのようにしてページからテキストだけを削除しますか?例えば としてHTMLページが読み込ま場合:私はちょうどこれを抽出したいHTMLファイルの処理Python

<meta name="title" content="How can I make money at home online? No gimmacks please? - Yahoo! Answers"> 
<title>How can I make money at home online? No gimmicks please? - Yahoo! Answers</title> 

How can I make money at home online? No gimmicks please? - Yahoo! Answers 

私は再機能を使用しています:

def striphtml(data): 
    p = re.compile(r'<.*?>') 
    return p.sub(' ',data) 

が、まだ私がそれをするつもり何をやっていないですか..? HTML/XML解析のための正規表現を使用しないでください

for lines in filehandle.readlines(): 

     #k = str(section[6].strip()) 
     myFile.write(lines) 

     lines = striphtml(lines) 
     content.append(lines) 
+1

[Pythonで解析HTML]の可能複製(http://stackoverflow.com/questions/717541/parsing-html-in-:一つは、ページのテキストコンテンツを取得するにはBeautifulSoup

可能性がありpython)、[Pythonを使用してHTMLファイルを処理する](http://stackoverflow.com/q/7694637) – Sathya

+1

この質問を確認する:http://stackoverflow.com/questions/328356/extracting-text-from-html-file -using-python – mgibsonbr

答えて

2

上記の関数は次のように呼ばれています。代わりにhttp://www.crummy.com/software/BeautifulSoup/を試してください。

from BeautifulSoup import BeautifulSoup 
soup = BeautifulSoup('Your resource<title>hi</title>') 
soup.title.string # Your title string. 
1

私は通常、html解析にhttp://lxml.de/を使用します。それは本当に使いやすく、あなたはそれのためのxpathを使用することができますタグを取得するかなり!物事を簡単に、速くするだけです。

私はXMLフィードを読み、単語を数えるにしたスクリプトで、使用例があります。

https://gist.github.com/1425228

また、あなたは、ドキュメントでより多くの例を見つけることができます。 http://lxml.de/lxmlhtml.html

2

これにはhtmlパーサを使用します。

from BeautifulSoup import BeautifulSoup 


soup = BeautifulSoup(your_html) 
text_nodes = soup.findAll(text = True) 
retult = ' '.join(text_nodes)