BeautifulSoup4

    科技2025-06-03  38

    bs4简介

    本文中的父节点等各种节点关系见https://blog.csdn.net/Starfish_S/article/details/108809734BeautifulSoup 是一个可以从HTML 或者 XML文件中提取数据的网页信息提取库 -pip install bs4 -i https://pypi.douban.com/simple使用 from bs4 import BeautifulSoup创建一个BeautifulSoup对象bs = BeautifulSoup(html,'lxml')bs.prettify() 打印出文档内容(更规范) bs4的对象种类 tag : 标签NavigableString : 可导航的字符串BeautifulSoup : bs对象Comment : 注释

    遍历、查找

    遍历 contents 返回的是一个列表Chridren 返回的是一个迭代器,通过该这个迭代器可以进行迭代descendants 返回的是一个生成器遍历子子孙孙string 获取标签里面的内同strings 返回的是一个生成器对象用来获取多个标签内容stripped strings 和 strings 基本一致, 但是它可以将多余的空格去掉parent 直接获取父节点parents 获取所有的父节点next_sibling 下一个兄弟节点previous_sibling 上一个兄弟节点next_sibling 下面的所有兄弟节点previous_siblings 上面的所有兄弟节点 搜索 find()和find_all() find_all()方法以列表形式返回所有的搜索到的标签数据find()方法返回搜索到的第一条数据find_all()方法参数find_all(self, name=None, attrs={}, recursive=True, text=None, limit=None, **kwargs) name 要搜索的标签的名称即tag名称attr 标签的属性recursive 是否递归搜索text 文本limit 限制返回条数kwargs 关键字参数 find_parents() find_parent() find_next_siblings() find_next_sibling() find_parents() 搜索所有父节点find_parents() 搜索单个父节点find_next_siblings() 搜索所有兄弟find_next_sibling() 搜索单个兄弟 find_previous_siblings() find_previous_sibling() find_all_next() find_next() find_previous_siblings() 向上搜索所有兄弟ind_previous_sibling() 向上搜索单个兄弟find_all_next() 向下搜索所有元素find_next() 向下搜索单个元素
    Processed: 0.009, SQL: 8