关于CData
https://www.w3school.com.cn/xml/xml_cdata.asp
不要使用 lxml
解析
import bs4
text = '<table><tr name="test"><![CDATA[2019-09-23]]></tr></table>'
soup = bs4.BeautifulSoup(text, 'lxml')
print soup.select_one('table tr').text # None
使用 html.parser
解析
或者使用
lxml-xml
也可以
import bs4
text = '<table><tr name="test"><![CDATA[2019-09-23]]></tr></table>'
soup = bs4.BeautifulSoup(text, 'html.parser')
print soup.select_one('table tr').text # 2019-09-23
其他方式
import bs4
text = '<table><tr name="test"><![CDATA[2019-09-23]]></tr></table>'
soup = bs4.BeautifulSoup(text, 'html.parser')
cd = soup.find(text=True)
type(cd) # <class 'bs4.element.CData'>
isinstance(cd, bs4.CData) # True
str(cd) # '2019-09-23'