Python爬虫利器之Beautiful Soup的全世界最强用法 五百行文章!

本文详细介绍了Python的Beautiful Soup库,包括其安装、创建对象、四大对象类型、遍历文档树和搜索文档树的方法。通过实例展示了如何利用Beautiful Soup高效抓取网页数据,还涵盖了CSS选择器的使用。
摘要由CSDN通过智能技术生成

Python爬虫利器之Beautiful Soup的全世界最强用法 五百行文章!

0. 前言

爬虫是一个非常有意思的东西,比如自己做的一个网页上面什么数据都没有就可以爬虫别人的 然后进行去重 数据分析等等 在这里因为爬虫涉及到的方面非常多


1. Beautiful Soup的简介

先来了解下,Beautiful Soup是python的一个库,是一个框架,并且是第三方的所以西药安装,最主要的功能是从网页抓取数据。官方解释如下:

Python爬虫利器之Beautiful Soup的全世界最强用法 五百行文章!

2. Beautiful Soup 安装

现在通常使用的版本基本上都是Beautiful Soup4 之前的版本已经被移植了过来,也就是说我们需要导入的事import bs4.我们这里版本所介绍的事Beautiful Soup 4.3.2(BS4) 需要了解的是bs4对py3的版本支持不是特别友好,现在也已经慢慢在过度到py3还没有完全实现这个过程,如果需要使用py3的通过可以下载bs3的版本会好一些

pip进行安装或easy_install进行安装

Python爬虫利器之Beautiful Soup的全世界最强用法 五百行文章!

离线下载安装:

#BS3

https://www.crummy.com/software/BeautifulSoup/bs3/download//

#BS4

https://www.crummy.com/software/BeautifulSoup/bs4/download/

最新版本是BS4.6 今年五月份发布的 官网 https://www.crummy.com/software/BeautifulSoup/

下载完成之后解压

运行下面的命令即可完成安装

Python爬虫利器之Beautiful Soup的全世界最强用法 五百行文章!

然后需要安装 lxml

Python爬虫利器之Beautiful Soup的全世界最强用法 五百行文章!

一般情况下 lxml安装会出现一些问题导致安装不上 所以会去现在whl离线包或源码来进行安装,另外解释器是纯Python实现的HTML5lib,解析方式和浏览器相同,会自动补全结束标签 等等 一系列的渲染操作,可以进行选择性的安装 类似于一个工具更加方便操作不使用它也是可以的

Python爬虫利器之Beautiful Soup的全世界最强用法 五百行文章!

除此之外BS支持python标准库中的HTML解析器,支持第三方的解析器,如果想要放弃它,python会使用默认的解析器,lxml解析器使用起来速度更快,更加方便与强大。

Python爬虫利器之Beautiful Soup的全世界最强用法 五百行文章!

3. 开始Beautiful Soup的旅程

以上工作准备之后就可以开启深渊之旅了

4. 创建Beautiful Soup对象

首先导入BS4的库

from bs4 import BeautifulSoup

这里我们创建一个字符的HTML节点代码,以供后面的例子使用

Python爬虫利器之Beautiful Soup的全世界最强用法 五百行文章!

创建BS对象

Python爬虫利器之Beautiful Soup的全世界最强用法 五百行文章!

当然可以使用loca本地的HTML文件来进行创建,比如

Python爬虫利器之Beautiful Soup的全世界最强用法 五百行文章!

上面这句代码便是将本地 index.html 文件打开,打开之后创建一个BS实例对象以供后面调用。

来试着输出打印一下 soup 对象的内容

#输出

Python爬虫利器之Beautiful Soup的全世界最强用法 五百行文章!

上面 prettify()这个格式化函数会常常用

5. 四大对象种类

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

  • Tag

  • NavigableString

  • BeautifulSoup

  • Comment

下面我们进行一一介绍

(1)Tag

Tag 是什么?通俗点讲就是 HTML 中的一个个标签,例如

Python爬虫利器之Beautiful Soup的全世界最强用法 五百行文章!

上面的 title a 等等 HTML 标签加上里面包括的内容就是 Tag,下面我们来感受一下怎样用 Beautiful Soup 来方便地获取 Tags

下面每一段代码中注释部分即为运行结果

Python爬虫利器之Beautiful Soup的全世界最强用法 五百行文章!

我们可以利用 soup加标签名轻松地获取这些标签的内容,是不是感觉比正则表达式方便多了?不过有一点是,它查找的是在所有内容中的第一个符合要求的标签,如果要查询所有的标签,我们在后面进行介绍。

我们可以验证一下这些对象的类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值