该文件如下:
<div class="eh">...</div>
...
<section class="g">...</section> <!-- div 1 -->
...
<section class="g">...</section> <!-- div 1 -->
...
<div class="eh">...</div>
...
<section class="g">...</section> <!-- div 2 -->
...
所有这些标签都在同一树级别上。我需要将文档分割成div的数量组,并将部分附加到相应的div。
预期结果是[div1, section1, section2, div2, section3]
之类的列表。它们按照它们出现在HTML中的顺序显示。
我目前的代码:
bs.find_all(
['div', 'section'],
{'class': ['eh', 'g']})
如果div和section具有不同的类,则此方法有效。
答案 0 :(得分:0)
我认为这会让你最大程度地实现目标。
from bs4 import BeautifulSoup
soup = BeautifulSoup(open('temp.htm').read(), 'lxml')
tags = soup.find_all(['div','section'])
for tag in tags:
print (tag.name, tag)
输出:
div <div class="eh">...</div>
section <section class="g">...</section>
section <section class="g">...</section>
div <div class="eh">...</div>
section <section class="g">...</section>
section <section class="g">...</section>
section <section class="g">...</section>
section <section class="g">...</section>
请注意,汤中的项目按照soup.find_all
中列出的标记的顺序输出。