美文网首页
BeautifulSoup基础使用

BeautifulSoup基础使用

作者: Epimenides | 来源:发表于2020-05-18 23:58 被阅读0次

    1. 安装BeautifulSoup

    BeautifulSoup官方文档

    BeautifulSoup安装命令:conda install -c anaconda beautifulsoup4

    2. 如何使用BeatifulSoup库

    from bs4 import BeautifulSoup
    soup = BeautifulSoup('<p>data</p>','html.parser')
    

    3. 对BeautifulSoul库的理解

    HTML文件.png
    • BeautifulSoup库是解析、遍历、维护“标签书”的功能库(只要你提供的文件是标签类型,BeautifulSoup库都可以提供很好的解析)

    4.常见标签的格式(P标签为例)

    P标签样式:<p class="title">...</p>

    P标签的样式.png

    P标签的属性是用来定义标签的特点的,同时是一个键值对

    5. html文件&标签树&BeautifulSoup类的关系

    这三者是等价关系的,对BeautifulSoup类的相关处理就是对标签树的处理

    from bs4 import BeautifulSoup
    soup = BeautifulSoup("<html>data</html>","html.parser")
    soup2= BeautifulSoup(open("D://demo.html","html.parser"))
    

    简单讲我们可以将BeautifulSoup当作对应一个HTML/XML文档的全部内容。

    6.BeautifulSoup库解析器

    解析器 使用方法 安装bs4
    bs4HTML解析器 BeautifulSoup(mk,'html.parser') 安装bs4
    lxmlHTML解析器 BeautifulSoup(mk,'lxml') pip install lxml
    lxmlXML解析器 BeautifulSoup(mk,'xml') pip install lxml
    html5lib的解析器 BeautifulSoup(mk,'html5lib) pip install html5lib

    7.BeautifulSoul类的基本元素

    基本元素 说明
    Tag 标签,最基本的信息组织元素,分别用<></>标明开头和结尾
    Name 标签的名字,<p>...</p>的名字是'p',格式:<tag>.name
    Attributes 标签的属性,字典形式组织,格式:<tag>.attrs
    NavigableString 标签内非属性字符串,<>...</>中字符串,格式:<tag>.string
    Comment 标签内字符串的注释部分,一种特殊的Comment类型

    8. BeautifulSoup类获得tag标签的方法

    import requests
    r = requests.get("https://python123.io/ws/demo.html")
    demo = r.text
    form bs4 import BeautifulSoup
    soup = BeautifulSoup(demo, "html.parser")#这个时候soup变量代表解析后的`Demo`页面
    print(soup.title)                      #页面在浏览器上方显示信息位置的地方
    print(soup.a)                          #链接标签的内容
    

    9. 获取标签名字的方法

    import requests
    r = requests.get("https://python123.io/ws/demo.html")
    demo = r.text
    form bs4 import BeautifulSoup
    soup = BeautifulSoup(demo, "html.parser")
    print(soup.a.name)                      #a标签的内容
    print(soup.a.parent.name)               #a标签的父亲的内容
    print(soup.a.parent.parent.name)         #a标签父亲的父亲的内容
    

    10. 获取标签属性 的方法

    r = requests.get("https://python123.io/ws/demo.html")
    demo = r.text
    form bs4 import BeautifulSoup
    soup = BeautifulSoup(demo, "html.parser")
    print(soup.a.attrs)                     #由此可以看出a标签是一个字典类型
    soup.a.attrs['class']                   #获取a标签class属性的值
    soup.a.attrs['href']                    #获取a标签的连接属性
    

    相关文章

      网友评论

          本文标题:BeautifulSoup基础使用

          本文链接:https://www.haomeiwen.com/subject/dkwmohtx.html