侧边栏壁纸
博主头像
winson的blog博主等级

行动起来,活在当下

  • 累计撰写 31 篇文章
  • 累计创建 37 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

beautifulsoup的基本使用

winson
2024-04-08 / 0 评论 / 0 点赞 / 53 阅读 / 2358 字

beautifulsoup的基本使用

# _*_ coding : utf-8 _*_
# @Time : 2022/5/4 12:43
# @File : 75_bs4的基本使用
# @Project : demo1

from bs4 import BeautifulSoup

soup = BeautifulSoup(open("70_xPath的基本使用.html", encoding="utf8"), "lxml")

# 获取第一个li标签
print(soup.li)
# 获取标签的属性和属性值,将属性值作为一个字典返回
print(soup.li.attrs)
# bs4的一些函数
# find
print(soup.find("li", id="shanghai"))  # 返回的是第一个符合条件的数据
# find_all
print(soup.find_all("li", class_="shang"))  # class在python是关键字,因此要代表class可以在后边加_
# print(soup.find_all(["li", "ul"],limit=2))

# select(推荐使用)
# select方法返回的是一个列表并且会返回多个数据
print(soup.select("li"))
print(soup.select(".shang"))  # 可以通过.代表class,类选择器
print(soup.select("#beijing"))
print(soup.select("li[class=shang]"))  # 属性选择器
print(soup.select("ul li"))  # 后代选择器
print(soup.select("div > ul > li"))  # 某标签下的第一级标签
print(soup.select("div,li"))  # 找到对应标签下的内容
print(soup.select("div,li"))
# 如果标签对象中只有内容,两者通用
# 如果标签对象中有标签,则只能通过get_text()获取内容
print(soup.select("li")[0].string)
print(soup.select("li")[1].get_text())

# name是标签的名字
print(soup.select("li")[1].name)
# 获取节点的属性的三种方式
print(soup.select("li")[1].get("class"))
print(soup.select("li")[1].attrs.get("class"))
print(soup.select("li")[1]["class"])
0

评论区