代碼:得到一個標籤之間的字符串(在<div><p>p1</p>TEST<p>p2</p></div> TEST)
from bs4 import BeautifulSoup
soup = BeautifulSoup('<div><p>p1</p>TEST<p>p2</p></div>')
print soup.div()
結果:
[<p>p1</p>, <p>p2</p>]
怎麼來的字符串TEST
不在結果集?我怎麼才能得到它?
代碼:得到一個標籤之間的字符串(在<div><p>p1</p>TEST<p>p2</p></div> TEST)
from bs4 import BeautifulSoup
soup = BeautifulSoup('<div><p>p1</p>TEST<p>p2</p></div>')
print soup.div()
結果:
[<p>p1</p>, <p>p2</p>]
怎麼來的字符串TEST
不在結果集?我怎麼才能得到它?
soup.div()
是soup.div.find_all()
快捷方式這將find you all標籤的div
標籤中 - 你可以看到,它的工作。 TEST
是p
標籤之間的文本,或者,換句話說,第一p
標籤的tail
。
您可以通過獲取第一p
標籤和使用.next_sibling
得到TEST
字符串:
>>> soup.div.p.next_sibling
u'TEST'
或者,通過獲取的第二個元素div
的.contents
:
>>> soup.div.contents[1]
u'TEST'
從BS4
import BeautifulSoup
soup = BeautifulSoup('<div><p>p1</p>TEST<p>p2</p></div>')
print soup.div.text
u'p1TESTp2'