网络爬虫-BeautifulSoup库

** 网络爬虫-BeautifulSoup库**

Beautifulsoup的安装

pip install beautifulsoup4

  • Beautiful Soup库,也叫beautifulsoup4
    或 bs4
    约定引用方式如下,即主要是用BeautifulSoup
from bs4 import BeautifulSoup
soup = BeautifulSoup('<p>data</p>', 'html.parser')`

Beautiful Soup库的基本元素

*首先我们要了解html网页的构成,html网页主要是由标签页构成的,我们beautifulsoup库就是解析、遍历、维护“标签树”的功能库
在这里插入图片描述

BeautifulSoup类

BeautifulSoup对应一个HTML/XML文档的全部内容

soup = BeautifulSoup('<html>data</html>''html.parser')

其中html.parser是解析器
在这里插入图片描述

BeautifulSoup类的基本元素

在这里插入图片描述

Tag标签

任何存在于HTML语法中的标签都可以用soup.《tag》 访问获得
当HTML文档中存在多个相同tag对应内容时,soup.《tag返回第一个
每个《Tag》都有自己的名字,通过《tag》.name获取,字符串类型
基本元素有以下几种
在这里插入图片描述

基于bs4库的HTML内容遍历方法

  • 在了解了bs4库的基本元素后,我们要来学习如何遍历html的元素
    在这里插入图片描述

首先是下行遍历

在这里插入图片描述
遍历children节点的内容

for child in soup.body.children:
print(child

遍历子孙节点的全部内容

for child in soup.body.descendants:
print(child

上行遍历

在这里插入图片描述

  • 遍历所有先辈节点,包括soup本身,所以要区别判断
for parent in soup.a.parent:
    if parent is None:
       print(parent)
    else:
        print(parent.name)

标签树的平行遍历

在这里插入图片描述

  • 平行遍历发生在同一个父节点下的各节点间
    在这里插入图片描述
for sibling in soup.a.next_sibling:
print(sibling)
for sibling in soup.a.previous_sibling:
print(sibling)

基于bs4库的HTML格式输出

我们获取内容后要输出内容,这个时候我们就需要用到bs4库的格式化内容输出,让HTML内容更加“友好”的显示

  • 这里我们用到bs4库的prettify()方法
  • soup.prettify()
  • print(soup.prettify())
  • prettify()为HTML文本<>及其内容增加更加’\n’
  • prettify()可用于标签,方法:tag.prettify()

小结

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值