资讯专栏INFORMATION COLUMN

BeautifulSoup 使用指北 - 0x01_概览

jay_tian / 1381人阅读

摘要:,所有笔记均托管于仓库。是一个用来从或文件中提取数据的库。如果对速度有严格要求,应直接使用库来解析。对而言,解析器的速度比或更快。可以通过安装库来显著提升检测编码方案的速度。

GitHub@orca-j35,所有笔记均托管于 python_notes 仓库。
欢迎任何形式的转载,但请务必注明出处。
概述

⚠官方文档中混杂了 Py2 和 Py3 的术语和代码,本笔记针对 Py3 梳理了文档中的内容,在了解 BeautifulSoup 的过程中,建议将本笔记与官方文档配合食用。

Beautiful Soup 是一个用来从 HTML 或 XML 文件中提取数据的 Python 库。在使用 BeautifulSoup 时,我们选择自己喜欢的解析器,从而以自己熟悉的方式来导航、查找和修改解析树。

相关资源:

Home: https://www.crummy.com/softwa...

PyPI: https://pypi.org/project/beau...

Docs-EN: https://www.crummy.com/softwa...

Docs-CN: https://www.crummy.com/softwa...

安装:

pip install beautifulsoup4

如果遇到安装问题,可以参考:

Installing Beautiful Soup

Problems after installation

如果能顺利执行以下代码,则说明安装成功:

from bs4 import BeautifulSoup
soup = BeautifulSoup("

Hello

", "lxml") print(soup.p.string) #> Hello

⚠在安装库和导入库时使用的名称不一定相同,例如: 在安装 BeautifulSoup4 时,使用的名称是 beautifulsoup4;在导入时,使用的名称是 bs4 (路径为 ~PythonLibsite-packagess4)。

如果在使用过程中遇到本文未涵盖的问题,请参考: https://www.crummy.com/softwa...

Three sisters

下面这段名为 "Three sisters" 文档是本笔记的 HTML 示例文档(官方文档中也用的这段代码):

html_doc = """
The Dormouse"s story

The Dormouse"s story

Once upon a time there were three little sisters; and their names were Elsie, Lacie and Tillie; and they lived at the bottom of a well.

...

"""

这段 HTML 文档存在 "tag soup",HTML 解析器会自动修复 "tag soup"

提高性能

BeautifulSoup 的速度永远会低于其使用的解析器的速度。如果对速度有严格要求,应直接使用 lxml 库来解析。

对 BeautifulSoup 而言,lxml 解析器的速度比 html.parser 或 html5lib 更快。

可以通过安装 cchardet 库来显著提升检测编码方案的速度。

仅解析部分文档并不会节省大量的解析时间,但是可以节省大量内存,并有效提升检索文档的速度。

BeautifulSoup()

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/45122.html

相关文章

  • BeautifulSoup 使用指北 - 0x02_操作解析树

    摘要:,所有笔记均托管于仓库。中包含的字符串或等节点被视作该的或节点。为了便于在或节点中进行导航,提供了许多与此相关的方法。节点名可使用节点名来选取目标节点,此时会返回子孙节点中的第一个同名节点。 GitHub@orca-j35,所有笔记均托管于 python_notes 仓库。欢迎任何形式的转载,但请务必注明出处。 在解析树中导航 参考: Navigating the tree 在学习与...

    高胜山 评论0 收藏0
  • BeautifulSoup 使用指北 - 0x03_搜索解析树

    摘要:参考概述中定义了许多搜索解析树的方法,但这些方法都非常类似,它们大多采用与相同的参数和,但是仅有和支持参数。本节会以作为示例过滤器过滤器用于在解析树中筛选目标节点,被用作搜索方法的实参。如果函数返回,则保留该节点,否则抛弃该节点。 GitHub@orca-j35,所有笔记均托管于 python_notes 仓库。欢迎任何形式的转载,但请务必注明出处。参考: https://www.cr...

    xfee 评论0 收藏0
  • Python爬虫之自制英汉字典

    摘要:笔者看到了,觉得还蛮有意思的,因此,决定自己也写一个玩玩首先我们的爬虫要能将英语单词翻译成中文,因此,我们就需要一个网站帮助我们做这件事情。   最近在微信公众号中看到有人用Python做了一个爬虫,可以将输入的英语单词翻译成中文,或者把中文词语翻译成英语单词。笔者看到了,觉得还蛮有意思的,因此,决定自己也写一个玩玩~~  首先我们的爬虫要能将英语单词翻译成中文,因此,我们就需要一个网...

    graf 评论0 收藏0
  • ES6指北【2】—— 箭头函数

    摘要:箭头函数基本语法函数语法具名函数匿名函数三句话第一句话声明第二句话声明匿名函数第三句话把匿名函数赋值给箭头函数语法特点只能做赋值,不能做声明第一种写法完全写法不省略参数个数,不省略函数体花括号参数个数函数体内语句个数第二种写法省略参数括号参 1.箭头函数基本语法 1.1 ES3 函数语法 // 具名函数 function xxx(arg1, arg2) { console.lo...

    DobbyKim 评论0 收藏0
  • Node.js 高级进阶之 fs 文件模块学习

    摘要:回调函数提供两个参数和,表示有没有错误发生,是文件内容。文件关闭第一个参数文件时传递的文件描述符第二个参数回调函数回调函数有一个参数错误,关闭文件后执行。 showImg(//img.mukewang.com/5d3f890d0001836113660768.jpg); 人所缺乏的不是才干而是志向,不是成功的能力而是勤劳的意志。 —— 部尔卫 文章同步到github博客:https:/...

    verano 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<