Python爬虫 BeautifulSoup库

  • 安装

    • pip3 install beatfifulsoup4
  • 用法

    • 解析库
      • Python标准库
        • BeautifulSoup(markup, 'html.parser')
      • lxml HTMLj解析器
        • BeautifulSoup(markup, 'lhtml')
        • 需要安装C语言库
      • lxml XML解析器(最常用)
        • BeautifulSoup(markup, 'lxml')
        • 需要安装C语言库
      • html5lib
        • BeautifulSoup(markup, 'html5lib')
    • 基本使用
      • from bs4 import BeautifulSoup
      • soup = BeautifulSoup(html, 'lxml')
      • print(soup.pretty)格式美化
      • print(soup.title.string)
    • 选择元素
      • print(soup.title)
      • print(soup.p)默认打印第一个p标签
    • 获取名称
      • print(soup.title.name)
    • 获取属性
      • print(soup.p.attrs['name'])
      • print(soup.p.['name'])
    • 获取内容
      • print(soup.p.string)
    • 嵌套选择
      • soup.head.title.string
    • 子节点和孙节点
      • soup.p.contents 把子节点用一个列表的方式返回
      • soup.p.children 
      • for i,child in enumerate(soup.p.children)
        • print(i,child)
      • soup.p.descendants 获取子孙节点
      • for i,child in enumerate(soup.p.descendants)
        • print(i,child)
    • 父节点和祖先节点
      • soup.a.parent 获取a的父节点
      • soup.a.parents 获取a的祖先节点
    • 兄弟节点
      • list(enumerate(soup.a.next_siblings))
      • list(enumerate(soup.a.previous_siblings))
    • 标准选择器
      • find_all(name, attrs, recursive, text, **kwargs)
        • 可以根据标签名、属性、内容查找文档
        • name
          • soup.find_all('ui')
          • soup.find_all('ui')[0]
          • for li in soup.find_all('ui')
            • print(li)
        • attrs
          • soup.find_all(attrs={'id':'list-1'})
          • soup.find_all(id='list-1')
          • soup.find_all(class='element')
        • text
          • soup.find_all(text='Foo')
      • find(name, attrs, recursive, text, **kwargs)
      • find_parents() find_parent()
      • find_next_siblings() find_next_sibling()
      • find_previous_siblings() find_previous_sibling()
    • CSS选择器
      • soup.select()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值