bs4的基本使用

bs4的基本使用

BeautifulSoup是一个可以从HTML或XML中提取数据的Python库

安装bs4
pip install bs4
导入bs4
from bs4 import BeautifulSoup
基本使用

示例Html

html=""" 
    <ul>
        <li>张无忌</li>
        <li id="abc"><a href="zhouxingchi.com">周星驰</a></li>
        <li>猪八戒</li>
        <li>武则天</li>
    </ul> 
"""

首先初始化BeautifulSoup对象

# 1.初始化对象
page=BeautifulSoup(html,"html.parser")

接着可以开始查找标签

# 2.查找ID的值为abc的li标签
page.find("li",attrs={"id":"abc"})

find函数

find函数,第一个参数是标签名,第二个参数是属性,这里是为了查找ID值为abc的li标签,满足需求的就只有一个。

page.findAll("li",attrs={"id":"abc"})

find函数从页面中查找满足条件的值,并且只查找一个,而findAll则是查找所有,并且参数和find完全一致

这里调用find后的输出结果如下:

E:\pyproject\test\Scripts\python.exe E:\pyproject\test\main.py 
<li id="abc"><a href="zhouxingchi.com">周星驰</a></li>

进程已结束,退出代码为 0

这里已经找到了我们要的li标签了,那么如果还想再往里一层找到里面的a标签的话,就可以继续查找

a=li.find("a")

输出结果:

E:\pyproject\test\Scripts\python.exe E:\pyproject\test\main.py 
<a href="zhouxingchi.com">周星驰</a>

进程已结束,退出代码为 0 

如果想要拿到标签里面的文本内容,可以用

print(a.text)

如果想要拿到标签里面的链接,则可以通过取属性值的方式来获取

print(a.get("href"))

find_all函数

如果我想要查找到Html里面所有的li标签,那么就可以使用find_all函数

li_list=page.find_all("li")

for li in li_list:
   print(li)

li标签,那么就可以使用find_all函数

li_list=page.find_all("li")

for li in li_list:
   print(li)
  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值