zoukankan      html  css  js  c++  java
  • beautifulsoup用法1

    from bs4 import BeautifulSoup
    
    html = """
         <html>
            <head><title>标题</title></head>
            <body>
                <p class="story" name="dromouse">从前有三个小姐妹,她们的名字是
                <a href="http://example.com/elsie" class="sister" id="link1"><!--Elseie--></a>,
                <a href="http://example.com/lacie" class="sister" id="link2"><b>Lacie</b></a>,
                <a href="http://example.com/tillie" class="sister" id="link3">Tillie</a>;
                她们生活在一个井的下面</p>
                <p class="story">...</p>
            </body>
         </html>
    """
    soup = BeautifulSoup(html, 'lxml')
    # 格式化输出
    # print(soup.prettify())
    # 打印title节点的内容
    # print(soup.title.string)
    # 选择元素 会获取到第一个匹配到的该元素
    # print(soup.head)
    # print(soup.p)
    # 获取元素的属性 若不是唯一属性 例如 name id  则通过attrs获取
    # print(soup.title.name)
    # print(soup.a.attrs)
    # print(soup.a.attrs['class'])
    # print(soup.a.attrs['href'])
    # 关联选择 如 父子 兄弟等
    # print(soup.p.contents)
    # 子节点 不拆分子孙节点
    # print(soup.p.children)
    # for i, child in enumerate(soup.p.children):
    #     print(i, child)
    # 子孙节点 全部查询出来
    # print(soup.p.descendants)
    # for i, child in enumerate(soup.p.descendants):
    #     print(i, child)
    # parent 唯一父元素
    print(soup.a.parent)
    
    # parents 祖先元素 p  body  html 一层一层往上
    print(soup.a.parents)
    for i, child in enumerate(soup.a.parents):
        print(i, child)
    

      

    你不能把坏习惯扔出窗外 但你可以一步步赶下电梯
  • 相关阅读:
    C# 常用小点
    WebClient下载文件
    redis常见错误处理
    win2008R2环境配置
    C#程序员知识体系
    js中json的添加和指定位置的删除
    关于本博客的美化
    箭头函数中可改变this作用域,回调函数用箭头函数this指向page,自定义事件用箭头函数this指向undefined
    json_decode 和 json_encode 区别
    tp6中使用微信支付sdk
  • 原文地址:https://www.cnblogs.com/Ychao/p/9373064.html
Copyright © 2011-2022 走看看