• Beautifulsoup模块的一些细节说明


    本人使用Beautifulsoup需要理解的概念,所以在此记录。

    详细方法请参考 官方网址

    1 Beautifulsoup类中的基本元素 soup = Beautifulsoup(...)

      1.1 Tag: 标签,最基本单位,分别用<>和</>来表示开头和结。soup.Tag

        1.2 Name: 标签的名字,soup.Tag.name

        1.3 NavigableString: 标签内非属性的字符串,soup.Tag.string

        1.4 Attributes: 标签的属性,字典dict形式, soup.Tag.attrs; 也可以直接访问属性的value, soup.Tag[key]

    2 Beautifulsoup的遍历功能

    遍历分为上行遍历、下行遍历和平行遍历

    2.1 下行遍历

    .contents: 子节点的列表,将Tag的所有儿子节点存入列表。

    .children: 子节点的迭代类型,循环遍历儿子节点。

    .desendants: 子孙节点的迭代类型,包含所有子孙节点。对Tag进行递归循环

    2.2 上行遍历

    .parent: 节点的父节点标签

    .parents: 节点先辈的迭代类型, 用于循环遍历先辈节点

    3.3 平行遍历

    .next_sibling: 返回下一个平行节点的标签

    .previous_sibling: 返回上一个平行节点的标签

    .next_siblings: 生成器类型,返回后续的节点标签

    .previous_sibling: 生成器类型,返回前序的节点标签

    3 find_all(或者叫find)方法

    根据文档可知

    find_all( name , attrs , recursive , text , **kwargs ) 参数解析

    name:  查找名字的Tag

    **kwargs: 如果一个指定名字的参数不是搜索内置的参数名,搜索时会把该参数当作指定名字tag的属性来搜索,

      例如包含一个名字为 id 的参数,Beautiful Soup会搜索每个tag的”id”属性 

  • 相关阅读:
    一个程序员的负罪感
    【软件安装记录篇】本地虚拟机Centos7快速安装MySQL
    三分钟熟悉进制转换与位运算
    Base64 编码原理
    Java 注解
    数据结构之链表-动图演示
    数据结构之红黑树-动图演示(下)
    数据结构之红黑树-动图演示(上)
    通过TreeMap 和 冒泡算法对JSON 进行排序
    Quartz 之 windowService
  • 原文地址:https://www.cnblogs.com/fuzzier/p/7591696.html
Copyright © 2020-2023  润新知