• Pythonbeautifulsoup4 (bs4)


    beautifulsoup4

    引用:from bs4 import BeautifulSoup

    BeautifulSoup 类

    soup = BeautifulSoup(),此类会在初始化时自动修正html

    获取节点

    soup.节点名,比如soup.p获取

    节点,会返回第一个匹配到的p节点,返回类型是bs4.element.Tag

    prettify 方法

    格式化输出html

    bs4.element.NavigableString 类

    文本节点的类型

    bs4.element.Tag 类

    嵌套调用

    可以使用点操作符获取内部节点,返回的已经是Tag类型

    name

    节点的名称,比如p

    attrs

    节点当前使用的所有属性,字典格式,也可以不适用attrs而是直接使用 节点名['属性名']的方式直接获取,比如 p['class']

    string

    获取节点的文本内容,如果同时包含文本和其他子节点,返回的是None

    contents

    返回所有直接子节点, 类型为list

    children

    同contents,返回所有直接子节点,只是类型为一个迭代器,可以使用list(xxx.children)转成list类型

    descendants

    返回的是一个生成器,包含所有子孙节点,可以使用list(xxx.descendants)转成list类型

    parent

    返回节点的父节点

    parents

    返回一个生成器,包含了节点的所有祖先节点

    next_sibling

    下一个兄弟节点

    next_siblings

    返回一个生成器,包含后面的所有兄弟节点

    previous_sibling

    前一个兄弟节点

    previous_siblings

    返回一个生成器,包含前面的所有兄弟节点

    find_all

    查询所有满足条件的节点:find_all(name, attrs, recursive, text, **kwargs)

    • name: 根据节点的名称,比如 name='p'查询所有

      节点

    • attrs: 根据属性查找,字典格式
    • text: 根据文本内容查找,可以是字符串,也可以是正则对象,返回的是文本节点列表

    find

    只返回第一个匹配的节点

    find_parent

    find_parents

    find_next_sibling

    find_next_siblings

    find_previous_sibling

    find_previous_siblings

    find_next

    find_all_next

    find_previous

    find_all_previous

    select

    使用css选择器进行查找

    get_text

    获取文本,返回由所有子孙文本节点组成的文本

  • 相关阅读:
    Codeforces_462_B
    Codeforces_460_B
    Codeforces_456_A
    2016.11.27
    Buy the Ticket{HDU1133}
    高精度模板
    盐水的故事[HDU1408]
    测试你是否和LTC水平一样高[HDU1407]
    完数[HDU1406]
    Air Raid[HDU1151]
  • 原文地址:https://www.cnblogs.com/yarightok/p/15942922.html
Copyright © 2020-2023  润新知