看起来非常简单,但我没有发现错误,而且我现在已经花了几个小时了:
from bs4 import BeautifulSoup
txt = "<HTML><BODY><TABLE><TR><TD><P>Net sales</P></TD></TR></TABLE></BODY></HTML>"
print(txt)
bs = BeautifulSoup(txt, 'html.parser')
q = bs.find(tag='p', text='Net sales')
# table = q.find_parent('table')
print("q = ", q)
结果(在Jupyter中)
<HTML><BODY><TABLE><TR><TD><P>Net sales</P></TD></TR></TABLE></BODY></HTML>
q = None
为什么文字&#39;净销售&#39;未找到?
最后我想获取table-tag中的文本,我只是在上面的代码中注释了这一行。
答案 0 :(得分:1)
尝试不使用'tag'参数
<强>实施例强>
from bs4 import BeautifulSoup
txt = "<HTML><BODY><TABLE><TR><TD><P>Net sales</P></TD></TR></TABLE></BODY></HTML>"
bs = BeautifulSoup(txt, 'html.parser')
print bs
q = bs.find('p', text='Net sales')
# table = q.find_parent('table')
print("q = ", q)
<强>输出:强>
('q = ', <p>Net sales</p>)