Bs4库的一些小记录

BeautifulSoup4使用方法:
soup=BeautifulSoup(demo,“html.parser”)
soup.head (head标签)
soup.head.contents (head标签的儿子节点)
soup.body.contents(body标签的儿子节点)
len(soup.body.contents) (获取儿子节点的数量,可用列表类型的下标获取相关元素)
soup.body.contents1

.next_sibling 返回按照HTML文本顺序的下一个平行节点标签
.previous_sibling 返回按照HTML文本顺序的上一个平行节点标签
.next_siblings 迭代类型,返回按照HTML文本顺序的后续所有平行节点标签
.previous_siblings 迭代类型,返回按照HTML文本顺序的前序所有平行节点标签
平行遍历发生在同一个父节点下的个节点间

soup.prettify()能够为HTML文本增加换行符

例如:print(soup.a.prettify()),在BS4库中很好运用,

获取a标签实例:
soup=BeautifulSoup(demo,“html.parser”)
for link in soup.find_all(‘a’)
print(link.get(‘href’))

关于find_all:
find_all(name,attrs,recursive,string,**kwargs)
name:对标签名称的检索字符串
soup.find_all(‘a’),获取a标签,soup.find_all([‘a’,‘b’]),同时获取a,b两个标签

attrs:对标签属性值的检索字符串,可标注属性信息
例如:
soup.find_all(‘p’,‘course’),检索带有course属性值的p标签
soup.find_all(id=‘link1’),id域为link1的元素,若为[],则不存在,所以必须精确
否则运用re,例如soup.find_all(id=re.compile(‘link’))

recursive:是否对子孙全部检索,默认True
例子:
soup.find_all(‘a’,recursive=False),若为【】说明没不存在,可能存在于子孙节点

string:<>…</>中字符串区域的检索字符串
soup.find_all(string=“Basic Python”),同样是要精确,否则运用re
比如:soup.find_all(string=re.compile(“python”))

(…)等价于.find_all(…)
soup(…)等价于soup.find_all(…)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值