gpt4 book ai didi

python - 使用 BeautifulSoup 访问下一个兄弟
  • 元素
  • 转载 作者:太空狗 更新时间:2023-10-29 14:01:42 27 4
    gpt4 key购买 nike

    我完全不熟悉使用 Python/BeautifulSoup 进行网络解析。我有一个 HTML,其中(部分)代码如下:

    <div id="pages">
    <ul>
    <li class="active"><a href="example.com">Example</a></li>
    <li><a href="example.com">Example</a></li>
    <li><a href="example1.com">Example 1</a></li>
    <li><a href="example2.com">Example 2</a></li>
    </ul>
    </div>

    我必须访问每个链接(基本上是每个 <li> 元素)直到没有更多的 <li>标签存在。每次点击一个链接,其对应的<li>元素将类设为“事件”。我的代码是:

    from bs4 import BeautifulSoup
    import urllib2
    import re

    landingPage = urllib2.urlopen('somepage.com').read()
    soup = BeautifulSoup(landingPage)

    pageList = soup.find("div", {"id": "pages"})

    page = pageList.find("li", {"class": "active"})

    这段代码给了我第一个 <li>列表中的项目。我的逻辑是我一直在检查 next_sibling不是无。如果它不是无,我将创建一个到 href 的 HTTP 请求<a> 的属性那个 sibling 中的标签 <li> .这将使我进入下一页,依此类推,直到没有更多页面。

    但我不知道如何获得 next_siblingpage上面给出的变量。是page.next_sibling.get("href")或类似的东西?我查看了文档,但不知何故找不到它。有人可以帮忙吗?

    最佳答案

    使用find_next_sibling()并明确说明您要查找的兄弟元素:

    next_li_element = page.find_next_sibling("li")

    next_li_element 将变为 None 如果 page 对应于最后一个事件的 li:

    if next_li_element is None:
    # no more pages to go

    关于python - 使用 BeautifulSoup 访问下一个兄弟 <li> 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35141250/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com