我正在分析一个非常讨厌的网站。基本上,有内联div(它们是“headers”)和下面的段落标记(不在div中),它们理论上是“children”。。。我想把这个换成字典。我想不出最好的办法。网站大致如下:
<div><span>This should be dict key1</span></div>
<p>This should be the value of key1</p>
<div><span>This should be dict key2</span></div>
<p>This should be the value of key2</p>
所以,理论上(也是不正确的)python代码应该是这样的。。。在
^{pr2}$但不知何故,一旦找到下一个<div>
,它就需要中断,并开始一个新的键值。我很难在这件事上绞尽脑汁。。。救命啊!在
更新 建议的解决方案效果很好。在
首先可以找到所有的
div
,然后遍历div列表,对于每个div找到其下一个同级标记p
的文本,向find_all
函数添加更多属性约束,以确保它到达您希望的位置:Update:如果在
^{pr2}$div
后面有多个p
标记,那么只需遍历所有div并找出所有的p
直到下一个div
并将它们作为值添加到上一个键,这里使用defaultdict
稍微简化了逻辑:使用的Html:
相关问题 更多 >
编程相关推荐