BeautifulSoup 用法详解 —— 安装与解析器

news/2024/7/19 9:44:40 标签: BeautifulSoup, 爬虫

Beautiful Soup 4.4.0 文档:  https://beautifulsoup.readthedocs.io/zh_CN/latest/

使用 BeautifulSoup 解析一段 HTML 代码,能够得到一个 BeautifulSoup 的对象。

1. 安装 Beautiful Soup 与 解析器

pip install beautifulsoup4    # 安装 Beautiful Soup

# 安装解析器
pip install lxml    
pip install html5lib
Beautiful Soup 解析器
解析器使用方法优势劣势
Python标准库BeautifulSoup(markup,"html.parser")
  • Python的内置标准库
  • 执行速度适中
  • 文档容错能力强
  • Python 2.7.3 or 3.2.2)前 的版本中文档容错能力差
lxml HTML 解析器BeautifulSoup(markup,"lxml")
  • 速度快
  • 文档容错能力强
  • 需要安装C语言库
lxml XML 解析器

BeautifulSoup(markup,["lxml-xml"])

BeautifulSoup(markup,"xml")

  • 速度快
  • 唯一支持XML的解析器
  • 需要安装C语言库
html5libBeautifulSoup(markup,"html5lib")
  • 最好的容错性
  • 以浏览器的方式解析文档
  • 生成HTML5格式的文档
  • 速度慢
  • 不依赖外部扩展

2. 如何导入 BeautifulSoup 

from bs4 import BeautifulSoup
soup = BeautifulSoup(html_doc, 'html.parser')
soup1 = BeautifulSoup(open("index.html"))
soup2 = BeautifulSoup("<html>data</html>")

3.  soup.prettify() 方法

这个方法可以将解析的 HTML 代码进行基于 bs4 库的 HTML 的格式输出,让 html 代码更友好的显示。

print(soup.prettify())

 

 


http://www.niftyadmin.cn/n/1524482.html

相关文章

为什么移除僵尸_微信功能!再也不怕被好友删除了!网友:僵尸好友再见

随着微信和支付宝彻底的错位竞争&#xff0c;基本上在国内的社交APP领域上&#xff0c;已经没有微信的对手了&#xff0c;作为最常用的软件之一&#xff0c;微信已成为生活不可或缺的一部分。 除了聊天和朋友圈&#xff0c;使用微信我们还可以看到订阅号中的各种文章&#xff0…

BeautifulSoup 用法详解 —— 对象的种类

Beautiful Soup 4.4.0 文档&#xff1a; https://beautifulsoup.readthedocs.io/zh_CN/latest/ Beautiful Soup 将复杂 HTML 文档转换成一个复杂的树形结构&#xff0c;每个节点都是 Python 对象&#xff0c;所有对象可以归纳为4种&#xff1a;Tag, NavigableString, Beautif…

黑苹果唤醒无声_3000块黑苹果媲美1万块Mac mini

今天教大家3000配一台黑苹果&#xff0c;配置和1w的Mac mini差不多。苹果系统上的所有功能都可以使用&#xff0c;而且机器也非常mini&#xff0c;可以直接放在背包带走。配置CPU&#xff1a;i3 8100内存&#xff1a;威刚DDR4 2666 8GB 笔记本内存 万紫千红 * 2硬盘1&#xff1…

BeautifulSoup 用法详解 —— 遍历文档树

Beautiful Soup 4.4.0 文档&#xff1a; https://beautifulsoup.readthedocs.io/zh_CN/latest/ 1. 子节点 一个 Tag 可能包含多个字符串或其它的 Tag&#xff0c;这些都是这个 Tag 的子节点。BeautifulSoup 提供了许多操作和遍历子节点的属性。 操作文档树最简单的方法就是…

全字库说文解字字体_可商用字体大全,无版权纠纷!【第44期】

大家好我是万能的爱丽丝酱今天爱丽丝为你精选了可商用字体最全收集免费&#xff0c;无版权纠纷每个设计高手都离不开百变的字体&#xff0c;但是&#xff0c;如果审美不到位字库不全&#xff0c;找不到合适的字体&#xff0c;领导、客户就相不中&#xff01;那就有可能被降薪&a…

双向绑定 当obj的值修改时_[Vue] 3 - 对象的数据劫持? / 双向绑定实现 / Vue响应式原理?...

Vue 对数据的控制&#xff0c;本质是 [对对象数据的劫持] 和 [对dom的事件绑定]1. 【对象的数据劫持】Object.defineProperty做什么的? 对对象的某个参数值进行拦截2. 【对象的数据劫持】Proxy 做什么的? 对整个对象变化进行拦截3. 【代码实现】Vue 双向绑定是如何实现的?4.…

mysql 并发 参数_MySQL Innodb 并发涉及参数

1 参数作用MySQL的各个插件式引擎中&#xff0c;都会对事务及线程做一定的处理和优化。在Innodb引擎中&#xff0c;总是尝试保持 innodb内 操作系统的线程数(暂命名为innodb_thread) 应该小于或等于 系统可提供给innodb处理事务的线程数(暂命名为system_innodb_thread)。在大多…

mysql 将中文转换成拼音_mysql 如何将中文转拼音

mysql将中文转拼音的方法&#xff1a;首先创建一个数据库&#xff0c;并创建一张汉字和拼音对照表&#xff1b;然后使用“INSERT INTO t_base_pinyin () VALUES ()”语句来给汉字拼音对照表添加对照数据&#xff1b;最后创建一个汉字转换拼音的函数即可。推荐&#xff1a;《mys…