zoukankan      html  css  js  c++  java
  • 四大对象种类

    BeautifulSoup将复杂的html文档转换成一个复杂的树形结构,每个节点都是python对象,所有的对象可归纳为4种

    1、tag

    tag是什么,通俗点讲,就是html中的一个标签例如

    <title>The Dormouse's story</title>

    <a class='sister' herf='http://example.com/elsie' id = 'link1'>Elsie</a>

    上面的title,a等等html标签加上里面包括的内容就是tag,BeautifulSoup可以方便的获取tags

    注意:我们可以用soup加标签名轻松地获取标签内容。不过有一点是,它查找的是在所有内容的第一个符合要求的标签,如果要查询所有的标签则要用其他的方法。

    tag有两个重要的属性,name,和attrs

    print soup.name

    #[document]

    print soup.head.name

    #head

    soup对象本身比较特殊,他的name即为[doucument],对于其他内部标签,输出的值便为标签本身的名称。

    print soup.p.attrs

    #{'class': ['title'], 'name': 'dromouse'}

    在这里我们把p标签的所有属性都打印出来,得到的是一个字典。这里获取内部属性的和字典一摸一样。可以修改,删减,和字典操作一样的。

    2、NavigableString

    既然我们已经得到了标签的内容,那么问题来了,我们想要获取内部的文字该怎么办呢?很简单,用 .string即可,例如:

    >>>print(soup.p.string)

    >>>The Dormouse's story

    这样我们就轻松地取到了标签里面的内容,NavigableString翻译过来是可遍历的字符串。

    3、BeautifulSoup

    BeautifulSoup对象表示的是一个文档的全部内容,大部分时候,可以把它当作tag对象,是一个特殊的tag,

    我们可以分别获取它的类型、名称。

    4、Comment

    commnet对象是一个特殊类型的navigablestring对象,其实输出的内容仍然不包括注释符号。

  • 相关阅读:
    cnblogs blogStats All In One
    ESLint & vue template indent validate All In One
    vue & elementui 表单验证 bug All In One
    vue 表单验证 rule.message bug All In One
    vue 表单验证 rule message bug All In One
    Node.js & TypeScript error All In One
    VS2010如何调试IIS上的网站
    用LINQ查询XML并绑定给GridView显示
    SQLServer2008评估期已过解决方法
    ASP.NET给用户控件(.ascx)增加属性
  • 原文地址:https://www.cnblogs.com/themost/p/6681524.html
Copyright © 2011-2022 走看看