2017-01-15 9 views
1

私はBeautifulSoupを初めて使い、昨日初めてのスクリプトを作成しました。私が取得するために期待していBeautifulSoup - 一見単純な状況での問題の解析

html = """<a href="http://www.example.com"><b>Text</b> and more text</a>""" 
exampleSoup = BeautifulSoup(html, "html.parser") 
print exampleSoup.a.string 

...

<b>Text</b> and more text 

しかし、イムは「None」を取得していない:ここで私が期待していた結果を取得していないコードのビットです。私は間違っていると思いますか?

私はhtml変数で診断を実行しましたが、期待通りに、これは文字列上のすべてが元々のものと同様に解析上の問題ではないようです。要素の単一子より以上が存在する場合

答えて

3

.stringはあなたにNoneを返します:タグが複数のものが含まれている場合

が、それは、.stringが参照すべきかは明らかではありませんそう.stringは、あなたが何を意味するかどれ

ならないように定義された要素のHTML表現を取得するためにstr(exampleSoup.a)を使用することです。

それとも、あなたは子供を含む完全なテキストを取得したい場合は、使用.get_text()

exampleSoup.a.get_text()