• BeautifulSoup简介


    简介

    BeautifulSoup是一个高效的网页解析库,可以从 HTML 或 XML 文件中提取数据。

    beautifulsoup支持不同的解析器,比如,对HTML解析,对XML解析,对HTML5解析。一般情况下,我们用的比较多的是 lxml 解析器。

    当前最新的 Beautiful Soup 版本为4.4.0,Beautiful Soup 3 当前已停止维护。

    安装

    pip install beautifulsoup4

    使用时导入:

    from bs4 import BeautifulSoup

    使用

    编写一个test.html

    <!DOCTYPE html>
    <html>
    <head>
        <title>BeautifulSoup入门</title>
    </head>
    <body>
    <p>你好</p>
    <a href="www.baidu.com">百度一下</a>
    <p id='content'>BeautifulSoup是一个高效的网页解析库,可以从 HTML 或 XML 文件中提取数据。</p> </body> </html>

    接着将 html 的源代码传给 BeautifulSoup:

    from bs4 import BeautifulSoup
    soup = BeautifulSoup(open('test.html', encoding='utf-8'),'lxml')

    后面都是从soup这个对象获取我们要的内容。

    获取标题的内容

    >>> print(soup.title.string)
    BeautifulSoup入门

    获取 p 标签里面的内容

    >>> print(soup.p.string)
    你好

    获取 title 的父级标签

    >>> print(soup.title.parent.name)
    head

    获取超链接

    >>> print(soup.a)
    <a href="www.baidu.com">百度一下</a>

    获取所有超链接

    >>> print(soup.find_all('a'))
    [<a href="www.baidu.com">百度一下</a>]

    获取 id 为 content 的标签

    >>> print(soup.find(id="content"))
    <p id="content">BeautifulSoup是一个高效的网页解析库,可以从 HTML 或 XML 文件中提取数据。</p>

    获取网页中所有的内容

    >>> print(soup.get_text())
    
    
    BeautifulSoup入门
    
    
    你好
    百度一下
    BeautifulSoup是一个高效的网页解析库,可以从 HTML 或 XML 文件中提取数据。

    除了find方法之外,如果你对css比较熟悉,也可以使用 select 方法

    print(soup.select("title"))
    print(soup.select("body p"))
    print(soup.select("body >  #content"))

    参考链接:

    1. https://zhuanlan.zhihu.com/p/56108228

    2. https://zhuanlan.zhihu.com/p/59822990

  • 相关阅读:
    C#开源实现MJPEG流传输
    EntityFramework中使用Repository装饰器
    Lambda应用设计模式
    Lambda表达式的前世今生
    那些年黑了你的微软BUG
    敏捷软件开发揭秘
    SVN previous operation has not finished
    NodeJS+Express开发web,为什么中文显示为乱码
    使用Visual Studio 调试断点不起作用的问题解决办法 调试Revit CAD 不能进入断点
    openFileDialog的Filter属性设置
  • 原文地址:https://www.cnblogs.com/lfri/p/12202167.html
Copyright © 2020-2023  润新知