美文网首页
BeautifulSoup 安装和使用

BeautifulSoup 安装和使用

作者: 马桶里的白菜o | 来源:发表于2017-06-12 15:44 被阅读0次

    安装BeautifulSoup

    pip install beautifulsoup4
    

    引用注意大小写

    from bs4 import BeautifulSoup
    

    获取一个html

    url = 'http://gc.chetianbao.com/admin'
    res = requests.get(url)
    res.encoding = res.apparent_encoding;
    

    BeautifulSoup解析html html.parser 表示html解析器

    soup = BeautifulSoup(res.text,'html.parser');

    BeautifulSoup打开本地文件

    soup = BeautifulSoup(open('index.html'),'html.parser')

    打印格式化 更好的阅读:

    print(soup.prettify())

    Beautiful Soup将复杂HTML文档转换成一个复杂的树形结构,每个节点都是Python对象,所有对象可以归纳为4种:

    • Tag
    • NavigableString
    • BeautifulSoup
    • Comment

    Tag

    Tag 是什么?通俗点讲就是 HTML 中的一个个标签,例如:
    <a>,<div>,<title>

    对于 Tag,它有两个重要的属性,是 name 和 attrs

    • name: 获取名称 soup.a.name 输出a
    print(soup.a.name)
    
    • attrs的方法
    #获取所有的属性
    print(soup.div.attrs)
    #{'class': ['cp-container']}
    
    #获取一个tag的属性
    print(soup.p['class'])
    #['cp-content-left-small']
    

    NavigableString

    NavigableString获取标签内部的文件 使用.string即可,例如

    print(soup.p.string)
    #哈哈我是文字
    

    来检查一下它的类型

    print(type(soup.p.string))
    #<class 'bs4.element.NavigableString'>
    

    BeautifulSoup

    BeautifulSoup 对象表示的是一个文档的全部内容.大部分时候,可以把它当作 Tag 对象,是一个特殊的 Tag,我们可以分别获取它的类型

    
    
    print type(soup.name)
    #<type 'unicode'>
    print soup.name 
    # [document]
    print soup.attrs 
    #{} 空字典
    

    Comment

    Comment 对象是一个特殊类型的 NavigableString 对象,其实输出的内容仍然不包括注释符号

    print soup.a
    print soup.a.string
    print type(soup.a.string)
    

    运行结果如下

    
    
    <a class="sister" href="http://example.com/elsie" id="link1"><!-- Elsie --></a>
     Elsie 
    <class 'bs4.element.Comment'>
    

    相关文章

      网友评论

          本文标题:BeautifulSoup 安装和使用

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