Loading

python使用bs4 同时lxml也要安装才行

 

 

from bs4 import BeautifulSoup

soup = BeautifulSoup(open('index.html',encoding='utf-8'),'lxml')

print(soup)

就可以使用了.

 

下面是一些用法示例:

from bs4 import BeautifulSoup

soup = BeautifulSoup(open('index.html',encoding='utf-8'),'lxml')


# # 获取 第一个a
# print(soup.a)
# # 获取a标签的属性  attrs
# print(soup.a.attrs)
# # 获取第一个div  里面的属性是title='nn'的
# print(soup.find('div',title='nn'))
# #class会报错 因为是关键字  所以用class_ 就行了 这个特殊点
# print(soup.find('div',class_='logo'))

# # find_all 找到所以符合的元素
# print(soup.find_all('a'))

# # find_all 如果想获取多个标签的话 使用list才行
# print(soup.find_all(['a','span']))

# # find_all  可以限制条件 查找前几条
# print(soup.find_all('a',limit=3))

#  select 选择器 选择类选择器 比上面的方便  我们做项目也用的他
# print(soup.select('.logo')) #类选择器
# print(soup.select('#logo'))  #id选择器
# print(soup.select('div[class]'))  # 选择div里有class属性的
# print(soup.select('.logo img[class="img1"]'))  #img的class为img1的
# print(soup.select('a img[class="img2"]')[0])

#获取标签中的内容 get_text()
# print(soup.select('.aa')[0].get_text())

obj = soup.select('.aa')[0]
#name是标签的名字
# print(obj.name)

# 获取属性左右一个字典返回
# print(obj.attrs)

# 获取接点的某个属性
print(obj.attrs.get('data-field'))

 

posted @ 2023-04-10 09:23  mingBolg  阅读(21)  评论(0编辑  收藏  举报