【发布时间】:2012-10-27 19:00:53
【问题描述】:
一些html代码包含一些dt标签,如下所示:
<dt>PLZ:</dt>
<dd>
8047
</dd>
我想在dt 标记后面的dd 标记中找到带有文本PLZ: 的文本。根据文档,我正在尝试以下操作:
number = BeautifulSoup(text).find("dt",text="PLZ:").findNextSiblings("dd")
使用text 上面的字符串,但我得到的只是一个空列表,而不是我正在寻找的数字(当然是字符串)。也许我误解了文档?
【问题讨论】:
-
我敢打赌
PLZ:不匹配(也许你太严格了?)。要进行调试,请尝试将PLZ:减少到最小的值——如果它完全匹配任何内容,请添加一些PLZ:,直到你得到你所期望的。 -
PLZ:实际上是匹配的。即
BeautifulSoup(text).find("dt",text="PLZ:")部分返回一个打印为PLZ:的对象。只有最后一步似乎不起作用。或者至少不能以我尝试的方式工作。
标签: python web-scraping beautifulsoup