文档如下所示:
<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具有不同的类,则此方法有效。
发布于 2017-04-28 01:57:52
我认为这会让你朝着你的目标走上最远的路。
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中的项目是按照标签在soup.find_all中列出的顺序输出的。
https://stackoverflow.com/questions/43658371
复制相似问题