哎呀,,bs4库中好多方法,大体上分为两种:选择器 和 find,find_all,以后用到啥查啥呗
from bs4 import BeautifulSoup
html_doc = """<html>
<head>
<title>这是个标题</title>
</head>
<body>
<h1>这是一个一个简单的HTML</h1>
<p>Hello World!</p>
<a href="http://www.baidu.com">喜喜</a>
<a id ='i1'>哈哈</a>
<div>
<p>sdsad</p>
</div>
</body>
</html>"""
#属性操作
soup = BeautifulSoup(html_doc,features="html.parser")
#得到文本内容
#找到下一个
tag = soup.find('a').find_next()
print(tag)
#得到链接
tag = soup.find('a').get('href')
print(tag)
#判断是否有此属性
tag = soup.find('a').has_attr('href')
print(tag)
#支持递归和属性查找
# tag = soup.find('a',recursive=True,attrs={'id':'i1'})
# tag1 = soup.find_all(name = ['a','div'])
# print(tag1)
# tag = soup.find('a')
# #标签对应的内容
# print(tag.text)
# #增加属性
# tag.attrs['xixi']="三毛"
# #删除属性
# del tag.attrs['xixi']
# print(soup)
# #打印属性的内容
# print(tag.attrs['href'])
# #找到所有的子对象,包括'\n'
# tags = soup.find('body').children
# print(tags)
# for i in tags:
# print(i)
# #找子子孙孙,包括对象
# desc = soup.find('body').descendants
# for t in desc:
# print(t)
# #清空body里面的东西
# #不留body标签
# #soup.find('body').decompose()
# #soup.find('body').clear()
# #拿到你删除的标签
# #print(soup.find('body').extract())
# #print(soup)
# #encode拿到的是字节类型
# #encode_contents() 不包含标签
# print(tag.encode())
# #decode_contents
# print(tag.decode())
# #decode拿到的是字符串类型