如何在一个循环中找到一个包含2个变量的块?

时间:2019-04-04 02:32:07

标签: python beautifulsoup

我希望抓取以下html的内容,并希望捕获h2,然后捕获每个

,直到使用漂亮的汤料到下一个h2。这可能吗?

DELETE

我希望获得每个州的以下结果

1 个答案:

答案 0 :(得分:0)

这是我认为您应该可以使用的功能。列表capture 跟踪每个标题所需的元素。该代码正在使用 find_next_siblings method来获取树中的所有兄弟并进行迭代 在他们之上。当到达另一个h2标签时,它会中断。

soup = BeautifulSoup(content, 'html.parser')    
for head in soup.find_all('h2'):
    capture = [head]
    for sibling in head.find_next_siblings():
        if sibling.name == 'h2':
            break
        capture += [sibling]

我只是更改您存储捕获的标签的方式。

编辑:忘记提及content是提供的html字符串。 您的问题。