2017-07-22 4 views
1

私は結果は以下の通りであるmain.py最も外側のタグを削除したbs4.element.Tagの元の文字列を取得するにはどうすればよいですか?

#!/usr/bin/env python 
# vim: set noexpandtab tabstop=2 shiftwidth=2 softtabstop=-1: 

import sys 
from bs4 import BeautifulSoup 

soup = BeautifulSoup(sys.stdin.read(), 'html.parser') 
print type(soup.find('a')) 
print str(soup.find('a')) 

に次のコードを持っています。しかし、最も外側のタグ(この場合は)を印刷することは望ましくありません。最強のタグなしで元の文字列を堅牢に印刷する方法はありますか?

$ ./main.py <<EOF 
> <a>x<b>y</b></a> 
> EOF 
None 
<class 'bs4.element.Tag'> 
<a>x<b>y</b></a> 
+0

'soup.find( 'A')。text'または' soup.find( 'A')。strings'または 'soup.find( ' ').contents' –

+0

@ tmadamなぜこれを回答として投稿しないのですか?それは正しいものです! =) –

答えて

0
print soup.find('a').get_text() 

又は

tag_string = '' 
for item in soup.find('a').contents: 
    tag_string += str(item) 
print tag_string 
関連する問題