python中BeautifulSoup解析的常用方法

 BeautifulSoup解析的流程

  • 实例化soup对象,传入html
  • 利用方法属性进行解析

1. 实例化对象

1.1 本地传入html进行实例化

from bs4 import BeautfulSoup
fp = open("./test001.html","r",encoding="utf8",encoding="utf8")
soup = BeautfulSoup(fp,"lxml")

1.2 使用request库得到response进行实例化

soup = BeautfulSoup(response.text,"lxml")

2.利用方法属性进行解析

2.1得到第一个匹配对象

2.1.1 soup.TagName

得到第一个匹配的对象

div = soup.div
2.1.2 soup.find("TagName")

得到第一个匹配对象,效果与 2.1 相同

div = soup.find("div")
2.1.3 soup.find("TagName",attrs={})

得到第一个满足attrs的对象,其中attrs是一个字典

form=soup.find("form",attrs={"method":"post"})

2.2 得到所有匹配对象

2.2.1 soup.find_all("TagName",attrs={})

得到所有满足attrs的对象,其中attrs是一个字典

trs=form.find_all("tr",attrs={"class":"text-c"})

2.3 选择器select的用法

2.3.1 soup.select('选择器名称(id class 标签 等)')

返回的是 list 类型

tang = soup.select('.tang')
2.3.2 soup.select('选择器 > ul > li >a ')

返回选择器所选择目录下ul 下li 下a标签(>表示直接隶属

2.3.3 soup.select('选择器 > ul  a ')

返回选择器所选择目录下ul  所包含的所有a标签(空格表示标签下所有

2.4 获取标签间文本文件

2.4.1 soup.TagName.text (或者 .get_text()

返回标签下所有文字内容

2.4.2 soup.TagName.string

返回标签下直接隶属的文字内容

2.4.3 soup.a["href"]

返回标签的属性

  • 14
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值