2017-01-15 62 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 

但即時得到「無」。我錯誤地假設了什麼?

我對html變量進行了診斷,但(如預期的),這似乎不是一個解析問題,因爲一切都與它最初的字符串相同。

回答

3

.string將返回你None,如果有超過一個元素的一個孩子更多:

如果一個標籤包含一個以上的事情,那麼,目前還不清楚應該是指什麼.string,所以.string被定義爲無

你的意思是使用str(exampleSoup.a)來獲取元素的HTML表示。

或者,如果你想獲得包括孩子的完整文本,使用.get_text()

exampleSoup.a.get_text()