• 四大对象种类


    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对象,其实输出的内容仍然不包括注释符号。

  • 相关阅读:
    Xcode7 真机调试步骤以及遇到的问题解决办法
    AndroidStudio .gitinore编写
    Android Studio Jar、so、library项目依赖
    Android studio导入eclipse项目混淆打包出错
    spring中ref属性与<ref/>标签
    NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.web.servlet.view.InternalResourceViewResolver' available
    Maven学习笔记
    Tomcat日志与Log4j日志
    Git笔记
    Tomcat学习
  • 原文地址:https://www.cnblogs.com/themost/p/6681524.html
Copyright © 2020-2023  润新知