Python爬虫----bs4库中的BeautifulSoup基础运用+爬取招商银行商品信息实例运用

文章目录

引言😜

bs4库入门讲解

一、Beautifulsoup库的安装

二、对Beautifulsoup库浅浅试用一下

BeatifulSoup的基础

一、BeautifulSoup的“李姐”

二、BeautifulSoup库的其他解析器

三、BeautifulSoup库的基本元素(bs4.element)

四、使用demo变量来分析html页面

做一个小总结

回归课本学习find()&find_all()使用方法

介绍🍨

1. name参数

2. attrs参数

3. text参数

4. limit参数

5. recursive参数

通过CSS选择器进行搜索

1. 通过标签查找

2. 通过类名查找

3. 通过id名查找

4. 通过组合的形式查找

5. 通过属性查找

上面所述的方法返回的结果都是列表的形式,如果想要遍历这个列表,可以使用get_text()方法来获取节点的内容


引言😜

在学习BeautifulSoup库之前,想先和大家简单介绍一下这个库它到底能干啥,开玩笑来说“我时间很宝贵的,你什么身份,我什么地位,你有什么值得我学习的呢?”,那么下面是我向大家所罗列BeautifulSoup库的一些功能,也是我们接下来学习的主要内容:

  • 解析html流程说明

  • 识别标签

  • 提取内容

  • 查看标签信息

  • 其他提取细节

废话不多说,这节课就让我来和大家一起稍微全面学习一下bs4这个库,研究一下它的作用,然后再搭配一些实例操作加深大家对它的理解,当然也不会完全脱离课本内容,希望能对大家有所帮助!

bs4库入门讲解

一、Beautifulsoup库的安装

在cmd中:

 pip install beautifulsoup4

在操作过程中用到的URL:http://python123.io/ws/demo.html

二、对Beautifulsoup库浅浅试用一下

先导入一下url,查看网页内容(jupyter Notebook)

 import requests
 r = requests.get("http://python123.io/ws/demo.html")
 #r.status_code
 #r.encoding = r,apparent_encoding
 r.text
 ​
 #使用demo变量存储一下相关内容
 demo = r.text   #在后续讲解过程中会经常使用这个变量

导入bs4:

 from bs4 import BeautifulSoup

将demo页面进行优化(也称“熬汤”)

soup = BeautifulSoup(demo, "html.parser")  #"html.parser"指的是解析页面的方式,由于demo使得内容是html的形式,故使用html的方式解析
 #而书中soup = BeautifulSoup(html, "lxml")采用的是lxml解析器
 #关于解释器相关应用后期在做详细解释
 print(soup.prettify()) #prettify()方法是将demo内容优化为标准格式,可以使得内容更清晰

总结:如何使用BeautifulSoup库,简单来说就两步

(1)调用bs4引入 (2)soup = BeautifulSoup('<p>data</p>', 'html.parser')

BeatifulSoup的基础

一、BeautifulSoup的“李姐”

我们知道任何一个html文件我们打开它的源代码可以知道他是一组尖括号构成的标签组织起来的,每一对尖括号组成一个标签,而各种标签之间又存在上下级关系,最终相互组合形成了一个标签树

<html>
     <head>
         <title>我真帅</title>
     </head>
     <body>
         <p>
             <a>...</a>
         </p>
     </body>
 </html>

可以说BeautifulSoup库是一个能够解析、遍历、维护“标签树”的功能库,只要你提供的文件是标签类型,那么BeautifulSoup库都能对其进行一个很好的解析

虽然不同的标签功能不同,但它们中所包含的属性大体类似,下面以<p>标签为例:

 <p class="title"> ...</p>
 Name     Attribute  
 成对出现   0个或多个,一般是以键值对构成

问题1:如何理解BeautifulSoup库这个类呢?😉

BeautifulSoup库本身解析的是html和xml的文档,而这个文档是与前面所提到的标签树是一一对应的,那么经过了BeautifulSoup类的处理后,可以使得每一个标签树转换成BeautifulSoup类,而在实际处理过程中我们时常将html文档、标签树以及BeautifulSoup看成是等价的,在此基础上我们就可以通过BeautifulSoup类使得这个标签树成为一个变量如soup = BeautifulSoup(demo, "html.parser"),对该变量的处理,也即是对标签树处理

简单来说:BeautifulSoup对应一个HTML和XML文档的全部内容

二、BeautifulSoup库的其他

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

whelloworldw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值